名前空間
変種
操作

alignas specifier

提供: cppreference.com
< cpp‎ | language

 
 
C++言語
一般的なトピック
フロー制御
条件付き実行文
繰り返し文 (ループ)
ジャンプ文
関数
関数宣言
ラムダ関数宣言
inline 指定子
例外指定 (非推奨)
noexcept 指定子 (C++11)
例外
名前空間
指定子
decltype (C++11)
auto (C++11)
alignas (C++11)
記憶域期間指定子
初期化
代替表現
リテラル
ブーリアン - 整数 - 浮動小数点
文字 - 文字列 - nullptr (C++11)
ユーザ定義 (C++11)
ユーティリティ
属性 (C++11)
typedef 宣言
型エイリアス宣言 (C++11)
キャスト
暗黙の変換 - 明示的な変換
static_cast - dynamic_cast
const_cast - reinterpret_cast
メモリ確保
クラス
クラス固有の関数特性
特別なメンバ関数
テンプレート
その他
 
型またはオブジェクトの整列要求を指定します.
Original:
Specifies the alignment requirement of a type or an object.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

目次

[編集] 構文

alignas( expression ) (C++11およびそれ以降)
alignas( type-id ) (C++11およびそれ以降)

[編集] 説明

alignas指定子は、変数の宣言やクラスのデータメンバに適用することができる、またはそれはクラス/構造体/共用体または列挙型の定義に適用することができます.
Original:
The alignas specifier may be applied to the declaration of a variable or a class data member, or it can be applied to the definition of a class/struct/union or enum.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
フォームalignas(expression)で使用され、expressionが正の値に評価される整数定数式である場合、宣言された実体は、それが型の自然境界整列要件を弱めたい場合を除いて、expressionのまさに結果に設定され、その整列要求を持つことになります。
Original:
When used in form alignas(expression), and expression is an integral constant expression that evaluates to a positive value, the declared entity will have its alignment requirement set to exactly the result of the expression, except if it would weaken the natural alignment requirement of the type.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
フォームalignas(type)で使用する場合は、宣言された実体の整列要件がalignas(alignof(type))のアラインメント要件等しくなり、あるtype、とまったく同じです
Original:
When used in form alignas(type), is exactly equivalent to alignas(alignof(type)), that is, the alignment requirement of the declared entity will be equal the alignment requirement of type
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[編集] ノート

alignas(0)効果がありません.
Original:
alignas(0) has no effect.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
複数alignas指定子は同じ変数またはクラスに適用されると、厳しいものが使用され.
Original:
When multiple alignas specifiers are applied to the same variable or class, the strictest one is used.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
C言語は、ヘッダーalignasでプリプロセッサマクロとして<stdalign.h>を定義していますが、C + +でこれがキーワードであり、ヘッダが<stdalign.h><cstdalign>ようなマクロを定義しないでください。彼らは、しかし、マクロ定数__alignas_is_definedを定義しない.
Original:
The C language defines alignas as a preprocessor macro in the header <stdalign.h>, but in C++ this is a keyword, and the headers <stdalign.h> and <cstdalign> do not define such macro. They do, however, define the macro constant __alignas_is_defined.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[編集] キーワード

alignas

[編集]

// every object of type sse_t will be aligned to 16-byte boundary
struct alignas(16) sse_t
{
  float sse_data[4];
};
 
// the array "cacheline" will be aligned to 128-byte boundary
char alignas(128) cacheline[128];



[編集] 参照

alignof 演算子 型のアライメント要件を問い合わせます (C++11およびそれ以降) [edit]
型のアライメント要件を取得します
(クラステンプレート) [edit]