給大家提個問題。你們中許多人會回答「沒有區別」,但我有點固執是有區別的,由於問題的措辭:「?哪個類使用的內存量最少的」一類變量的排列
他們要求一個單一的答案 - 必須有一個!我曾與前任微軟實習生聊過,他堅持說沒有答案。
也許有些人會在乎提供他們的想法?
Which class uses the least amount of memory?
class A
{
float duration;
char code;
int count;
bool enabled;
};
class B
{
float duration;
int count;
char code;
bool enabled;
};
class C
{
char code;
int count;
bool enabled;
float duration;
};
class D
{
bool enabled;
float duration;
char code;
int count;
};
有時候,編譯器插入填充,因爲它是體系結構的要求還是因爲它允許更快的訪問。無論如何,如果沒有指定實現,就不能指定大小。 – AraK 2013-02-08 20:39:35
哪個使用最少?你如何使用'sizeof'並找出(針對該編譯器)? – chris 2013-02-08 20:39:36
也許你應該閱讀有關[數據結構對齊](http://en.wikipedia.org/wiki/Data_structure_alignment) – GWW 2013-02-08 20:40:23