#include<iostream>
#include<typeinfo>
using namespace std;
class Base
{
public:virtual void func(){}
};
class Derived1 : public Base {};
int main()
{
Derived1 d;
cout<<typeid(d).name()<<endl;
return 0;
}
輸出:
8Derived1
這個數字是什麼?
編譯器:克++ - 4.8.4-2ubuntu1〜14.04
我不認爲答案,問題'8'代表名稱中的字符數。 –
@ShafikYaghmour嗯,這可能是一個實現(返回它的大小+名稱),但它不能保證C++規範:「返回一個實現定義的以null結尾的包含類型名稱的字符串。 (...)「 –
@DavidNogueira OP專門詢問gcc,如問題 –