原始式
基本式は、より複雑な式のビルド ブロックです。 つまり、リテラル、名前、スコープ解決演算子 (::
) で修飾された名前です。 基本式は次のいずれかの形式になります。
primary-expression
literal
this
name
::
name
(
expression
)
literal
は定数基本式です。 その型は、リテラルの指定の形式によって決まります。 リテラルの指定の詳細については、「リテラル」を参照してください。
this
キーワード (keyword)は、クラスのインスタンスへのポインターです。 非静的メンバー関数内で使用でき、関数が呼び出されたクラスのインスタンスを指します。 this
キーワードはクラス メンバー関数の本体の外部で使用することはできません。
ポインターの型の詳細については、ポインターを参照してくださいthis
。this
名前の前のスコープ解決演算子 (::
) は基本式です。 そのような名前は、メンバー名ではなく、グローバル スコープでの名前であることが必要です。 名前の宣言によって、式の型が決まります。 宣言名が左辺値である場合は、左辺値 (代入式の左辺になる式) です。 スコープ解決演算子を使用すると、グローバル名が現在のスコープでは隠されていても、その名前を参照できます。 スコープ解決演算子の使用例については、「スコープ」を参照してください。
かっこで囲まれた式は、プライマリ式です。 その型と値は、解析されていない式の型と値と同じです。 この式は、かっこで囲まれていない式が左辺値であれば、左辺値です。
次に示しているのは、基本式の例です。
100 // literal
'c' // literal
this // in a member function, a pointer to the class instance
::func // a global function
::operator + // a global operator function
::A::B // a global qualified name
( i + 1 ) // a parenthesized expression
これらは、考えられるすべての name、つまり基本式の、さまざまな形式の例です。
MyClass // an identifier
MyClass::f // a qualified name
operator = // an operator function name
operator char* // a conversion operator function name
~MyClass // a destructor name
A::B // a qualified name
A<int> // a template id
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示