alignof

    5熱度

    1回答

    我想這 struct Foo(T) { align(8) void[T.sizeof] data; } 但 static assert(Foo!(int).data.alignof == 8); 失敗,告訴我對齊的8仍然1代替。 爲什麼是這樣的,我該如何解決這個問題,以便它適用於2(不僅僅是8)冪的任意對齊。

    33熱度

    6回答

    sizeof和alignof有什麼區別? #include <iostream> #define SIZEOF_ALIGNOF(T) std::cout<< sizeof(T) << '/' << alignof(T) << std::endl int main(int, char**) { SIZEOF_ALIGNOF(unsigned char); SIZEO

    2熱度

    1回答

    GetLastError告訴我,我得到「程序發出命令,但命令長度不正確。」調用Process32First()時發生錯誤(請參閱下面的代碼)。我發現了一篇看起來很有用的帖子(http://social.msdn.microsoft.com/Forums/is/vcgeneral/thread/6f43716f-fdd3-4c92-bfba-6a23178c32bf),但我不確定這是否是我的問題。

    3熱度

    1回答

    考慮下面的C++代碼,打印用於double對齊要求,並將double類型的結構構件的有效對準: #include <iostream> struct S { short x; double y; }; int main() { S s; std::cout << __alignof(double) << ' '; std::cout << (char*)&s.