alignas关键字:
//#pragma (1)
#include "iostream"
struct alignas(16) A{
short s;
char c;
char c1;
};
struct B{
alignas(2) char arr[2];
A a;
double si;
char c;
};
alignas(256) char arr[] = "i konw";
int main(){
A a;
std::cout << sizeof(a) << std::endl;
std::cout << sizeof(arr) << std::endl;
std::cout << sizeof(B) << std::endl;
return 0;
}
结果:
andrew@andrew-pc /mnt/e/work/studycpp/struct $ g++ struct.cpp -o a.out -std=c++11
andrew@andrew-pc /mnt/e/work/studycpp/struct $ ./a.out
16
7
48