1. 程式人生 > >c++記憶體對齊的問題

c++記憶體對齊的問題

#include <iostream>


typedef class
{
public:
struct
{
int b;
int c;
}a;
struct
{
bool e;
char f;
}d;




}NEWTYPE;
int main()
{
NEWTYPE *S = NULL;
std::cout << sizeof(NEWTYPE) << std::endl;
system("pause");
return 0;

}


//結果為12.,說明記憶體對齊並不以結構體作為基準



/*將其改為如下*/

#include <iostream>


typedef class
{
public:


struct
{
struct
{
int b;
int c;
}a;
bool e;
char f;
}d;




}NEWTYPE;

//結果不變