0
我被修改C++的概念,但我堅持一個非常簡單的代碼類的大小與虛擬功能
#include <iostream>
using namespace std;
class foo {
public:
//int i;
void virtual foobar()
{
cout << "foobar\n";
}
};
int main()
{
foo f;
cout << sizeof(f) << endl;
//cout << sizeof(f.i) << endl;
return 1;
}
上述代碼的輸出是8 但是,當我除去從代碼 註釋輸出爲16和4
上課的時候有沒有變現在的成員則vptr的大小爲8,但變成12
我推薦閱讀http://phpcompiler.org/articles/virtualinheritance.html – hivert
但是爲什麼在成員變量和沒有成員變量時類的大小有所不同? – rahulshr