_declspec(align(32)) struct St{
int foo;
};
typedef std::aligned_storage<sizeof(St), std::alignment_of<St>::value>::type Ta;
int main() {
std::cout << std::alignment_of<St>::value << '\n';
std::cout << std::alignment_of<Ta>::value << '\n';
return 0;
}
输出是:
32
8
我正在使用 msvc(Visual Studio 2012)。是Ta
按 32 对齐,还是只有 8?