単項式 には 、1 つのオペランドと単項演算子が含まれています。 すべての単項演算子には、同じ優先順位が付けられ、右から左の結合順序が指定されます。 このため、単項式は後置式です。
次の説明で示されているように、ほとんどの単項式のオペランドで、通常の算術変換を実行することが できます。
次の表に、単項式の演算子が要約されています。
単項演算子の優先順位と結合順序 | |||
ランク | 右結合 ? | 演算子関数 | 使用法 |
---|---|---|---|
3 | はい | オブジェクトのサイズ (バイト) | sizeof ( expr ) |
3 | はい | 型のサイズ (バイト) | sizeof type |
3 | はい | 接頭部増分 | ++ lvalue |
3 | はい | 接頭部減分 | -- lvalue |
3 | はい | 補数 | ~ expr |
3 | はい | 否定 | ! expr |
3 | はい | 単項負 | - expr |
3 | はい | 単項正 | + expr |
3 | はい | 〜のアドレス | & lvalue |
3 | はい | 間接または間接参照 | * expr |
3 | はい |
![]() | new type |
3 | はい |
![]() | new type ( expr_list ) type |
3 | はい |
![]() | new type ( expr_list ) type ( expr_list ) |
3 | はい |
![]() | delete pointer |
3 | はい |
![]() | delete [ ] pointer |
3 | はい | 型変換 (キャスト) | ( type ) expr |
C99
では単項演算子 _Pragma が追加され、これにより、プリプロセッサー・マクロは pragma
ディレクティブを含むことができます。この演算子は、IBM C++ により直交言語拡張とし
てサポートされています。
XL C/C++ は、C99 および C++ 規格を拡張し、 単項演算子 __real__ および __imag__ をサポートします。これらの演算子は、 複素数型の実数部および虚数部を抽出する機能を提供します。 これらの拡張機能は、GNU C および C++ で開発されたアプリケーションの移植を容易にするためにインプリメントされました。
関連参照