我知道,類的成員聲明中的順序對於使用較少的內存很重要(基於類型大小的降序)。例如:class A { int x; double y; int z; };
將使用比class A { double y; int x; int z; };
更多的內存如果還有靜態成員,如何訂購一個類的成員?
這對於最新的編譯器(我使用Ubuntu)是否仍然如此?如果是,我應該在哪裏放置靜態成員?
class A
{
private:
static int m1;
double m2;
int m3;
public:
// ...
};
我應該在哪裏將m1放置在這個地方使用較少的內存?
嗯,我想它沒有任何作用 - 它可能會影響只有實例成員 – ikh
值得指出的是,你的例子可能給每個大小相同的大小。更好的情況:'class A {int32_t x; int64_t y; int32_t z; };'和'class A {int32_t x; int32_t z; int64_t y; };'。 –
他們討厭的編輯器。 –