Saída estranha de std :: typeid :: name ()

eu useitypeid para obter os nomes de tipo de std :: vector :: size_type e uma classe de tamanho zero com o seguinte código (cppreferência):

#include<iostream>
#include <vector>
#include <typeinfo>

using namespace std;

class A {};

int main()
{
    vector<int> v(10); 

    vector<int>::size_type s = v.size(); 

    A a; 

    cout << typeid(s).name() << endl;
    cout << typeid(a).name() << endl;

};

E eu tenho isso como saída:

m
1A

Eu acho que "1" antes de "A" é um resultado da Otimização da Classe Base Vazia, mas o que "m" significa e isso é normal?

Eu estou usando a seguinte versão do gcc: g ++ (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3

questionAnswers(1)

yourAnswerToTheQuestion