devxlogo

The Memory Layout of Members with Different Access Specifiers

The Memory Layout of Members with Different Access Specifiers

Consider the following two classes:

 class A{private:  int n;public:  int m;};class B{private:  int n;  int m;};

Theoretically, the memory layout of these two classes may be different because A has different access types for each member. The C++ Standard allows an implementation to store such members in non-adjacent memory addresses. However, in practice, I’m not aware of any compiler that does so. Under all existing compilers, the memory layout of the two classes is identical.

devx-admin

Share the Post: