有人可以幫助我瞭解sizeof()
運算符的行爲嗎?爲什麼我的班級規模大於其會員總數?
#include <iostream>
using namespace std;
class A{
int first;
double last;
public:
A(int a)
{
cout << a << endl;
}
};
int main()
{
A a(3);
cout << sizeof(a) << endl;
return 0;
}
此代碼打印出我的大小爲16個字節。類的大小根據其成員計算。所以我有4個字節(int
)+8字節(double
)= 12。
那麼爲什麼我得到16個字節?
當我註釋掉int
和double
成員時,我得到1個字節。
如果您使用Visual C++,請參閱https://msdn.microsoft.com/en-us/library/xh3e3fd0.aspx並嘗試使用'/ Zp1'選項使輸出爲12. –
不,我使用普通的g ++編譯器 –
GCC與Visual C++一樣「普通」:)在任何情況下,每個C++編譯器都提供類似的選項。這些東西本質上是特定於實現的。 –