Seltsame Ausgabe von std :: typeid :: name ()

ich benutztetypeid um die Typnamen des std :: vector :: size_type und einer Klasse A mit der Größe Null mit dem folgenden Code zu erhalten (cppreference):

#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;

};

Und das habe ich als Ausgabe bekommen:

m
1A

Ich vermute, dass "1" vor "A" ein Ergebnis der Optimierung der leeren Basisklasse ist, aber wofür steht "m" und ist das normal?

Ich benutze die folgende gcc-Version: g ++ (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3

Antworten auf die Frage(1)

Ihre Antwort auf die Frage