Namespaces
Variants

Standard library header <cstdalign> (C++11) (until C++20) , <stdalign.h> (C++11)

From cppreference.net
Standard library headers

このヘッダーは元々C標準ライブラリに <stdalign.h> として存在していました。

C互換性ヘッダー。 alignas および alignof はC++では キーワード ですが、C言語ではC23までキーワードではありませんでした。

マクロ

__alignas_is_defined
(C++11) (非推奨)
C互換性マクロ定数、整数リテラル 1 に展開される
(マクロ定数)
__alignof_is_defined
(C++11) (非推奨)
C互換性マクロ定数、整数リテラル 1 に展開される
(マクロ定数)

注記

<cstdalign> はC++17で非推奨となり、C++20で削除されました。対応する <stdalign.h> はC++20でも引き続き利用可能です。

不具合報告

以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。

DR 適用対象 公開時の動作 正しい動作
LWG 3827 C++11 Cプログラムは互換性マクロ
__alignas_is_defined をC23以降
必要としなくなった
このマクロをC++で
非推奨とした