共用方式為


主要運算式

主要運算式為更複雜運算式的建置組塊。 它們可能是範圍解析運算子 (::) 限定的常值、名稱和名稱。 主要運算式可以具有下列任何形式:

primary-expression
literal
this
name
:: name ( expression )

literal是常數主要表達式。 它的類型取決於其規格形式。 如需指定常值的詳細資訊,請參閱 常值

this關鍵詞是類別實例的指標。 它可在非靜態成員函式中使用,並指向叫用函式的來源類別實例。 this關鍵詞不能用於類別成員函式主體之外。

如需指標類型 this 的詳細資訊,請參閱 this 指標

範圍解析運算子 (::) 後面接著名稱是主要表達式。 這類名稱必須是全域範圍的名稱,而不是成員名稱。 名稱的宣告會決定表達式的類型。 如果宣告名稱是 l-value,它就會出現在工作分派表達式的左側。 範圍解析運算子允許參考全域名稱,即使該名稱在目前範圍中為隱藏狀態。 如需如何使用範圍解析運算符的範例,請參閱 Scope

以括弧括住的運算式是主要表達式。 其類型和值與未剖析表達式的類型和值相同。 如果未剖析的表達式是 l 值,則為 l 值。

主要運算式的範例包括:

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

這些範例全都被視為 名稱,因此主要表達式會以各種形式顯示:

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

另請參閱

運算式的類型