単項式

単項式 には 、1 つのオペランドと単項演算子が含まれています。 すべての単項演算子には、同じ優先順位が付けられ、右から左の結合順序が指定されます。 このため、単項式は後置式です。

次の説明で示されているように、ほとんどの単項式のオペランドで、通常の算術変換を実行することが できます。

次の表に、単項式の演算子が要約されています。

単項演算子の優先順位と結合順序
ランク 右結合 ? 演算子関数 使用法
3 はい オブジェクトのサイズ (バイト) sizeof ( expr )
3 はい 型のサイズ (バイト) sizeof type
3 はい 接頭部増分 ++ lvalue
3 はい 接頭部減分 -- lvalue
3 はい 補数 ~ expr
3 はい 否定 ! expr
3 はい 単項負 - expr
3 はい 単項正 + expr
3 はい 〜のアドレス & lvalue
3 はい 間接または間接参照 * expr
3 はい C++作成 (メモリーの割り振り)
new type
3 はい C++作成 (メモリーの割り振りと初期化)
new type ( expr_list ) type
3 はい C++作成 (配置)
new type ( expr_list ) type ( expr_list )
3 はい C++破棄 (メモリーの割り振り解除)
delete pointer
3 はい C++配列の破棄
delete [ ] pointer
3 はい 型変換 (キャスト) ( type ) expr

C C99 では単項演算子 _Pragma が追加され、これにより、プリプロセッサー・マクロは pragma ディレクティブを含むことができます。この演算子は、IBM C++ により直交言語拡張とし てサポートされています。

XL C/C++ は、C99 および C++ 規格を拡張し、 単項演算子 __real__ および __imag__ をサポートします。これらの演算子は、 複素数型の実数部および虚数部を抽出する機能を提供します。 これらの拡張機能は、GNU C および C++ で開発されたアプリケーションの移植を容易にするためにインプリメントされました。

関連参照

IBM Copyright 2003