深入解讀成員函數宣告中的 & 符號
在 C 中,非靜態成員函數可以用 ref 限定符修飾。這些限定符指定傳遞給函數的隱式物件參數的參考類別。
讓我們探討兩個常見的引用限定符:
不指定任何引用限定符,無論物件的值類別為何,都可以呼叫該函數。
來說明區別:
struct Foo { void bar() {} // Default: can be invoked with both lvalues and rvalues void bar1() & {} // Can only be invoked with lvalues void bar2() && {} // Can only be invoked with rvalues };
在上面的範例中:
這裡有一個現場演示:
int main() { Foo f; f.bar(); f.bar1(); Foo().bar2(); // Error: bar2 requires an rvalue }
了解這些引用限定符允許您根據所調用的物件的引用類別來控制對成員函數的存取。
以上是C 成員函數宣告中的單 & 符號與雙 & 符號有何不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!