alignof 演算子 (C++11以上)
提供: cppreference.com
型のアライメント要件を問い合わせます。
構文
alignof( type-id )
|
|||||||||
std::size_t 型の値を返します。
説明
type-id によって表される型のインスタンスに対して要求されるバイト単位のアライメントを返します。 完全型、配列型、または参照型のいずれかでなければなりません。
参照型の場合は、参照先の型のアライメントを返します。 配列型の場合は、要素の型のアライメント要件が返されます。
キーワード
ノート
alignof によって返される値の意味や性質についてはアライメントを参照してください。
例
Run this code
#include <iostream>
struct Foo {
int i;
float f;
char c;
};
struct Empty {};
struct alignas(64) Empty64 {};
int main()
{
std::cout << "Alignment of" "\n"
"- char : " << alignof(char) << "\n"
"- pointer : " << alignof(int*) << "\n"
"- class Foo : " << alignof(Foo) << "\n"
"- empty class : " << alignof(Empty) << "\n"
"- alignas(64) Empty: " << alignof(Empty64) << "\n";
}
出力例:
Alignment of
- char : 1
- pointer : 8
- class Foo : 4
- empty class : 1
- alignas(64) Empty: 64
関連項目
| アライメント要件 | オブジェクトを確保しても良いアドレスを制限します |
alignas 指定子(C++11)
|
変数のための記憶域が指定の量でアラインされるべきであることを指定します |
(C++11) |
型のアライメント要件を取得します (クラステンプレート) |