主要運算式
主要運算式為更複雜運算式的建置組塊。 它們可能是範圍解析運算子 (::
) 限定的常值、名稱和名稱。 主要運算式可以具有下列任何形式:
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
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應