問題九 C 中 是幹嘛用的(域解析操作符)

2021-07-26 02:29:52 字數 605 閱讀 9287

一兩行以上的成員函式最好被定義在類體之外。這要求乙個特殊的宣告語化來標識一

個函式是乙個類的成員:成員函式名必須被它的類名限定修飾(qualified)。也就是告訴編譯器,這個成員函式在我這類的類域內,直到該成員函式結束。(by the way, 類體就定義了乙個類域,類體外通過::擴充類域吧)比如:

class vec3 ;

在類體外定義operator+=()時,必須用::來告訴編譯器operator+=()這個成員函式是屬於vec3這個類的。

inline vec3& vec3::operator+=(const vec3&v)

另外,成員訪問操作符(點和箭頭)以及域解析操作符:: 可以被用在程式中來訪問類域

中宣告的成員。

std::

cout << ir << " " << ig<< " " << ib << "\n"; ::

的作用就是告訴編譯器被修飾的成員屬於哪個類(物件):

1.定義時。類體外定義的要用::修飾,不然會當作沒有定義。

2.訪問時。指定編譯器在某個類的類域中查詢某函式,不然有可能找不到。

問題九 C 中 是幹嘛用的(域解析操作符)

一兩行以上的成員函式最好被定義在類體之外。這要求乙個特殊的宣告語化來標識一 個函式是乙個類的成員 成員函式名必須被它的類名限定修飾 qualified 也就是告訴編譯器,這個成員函式在我這類的類域內,直到該成員函式結束。by the way,類體就定義了乙個類域,類體外通過 擴充類域吧 比如 cpp...

問題四 C 中inline是幹嘛用的

iinline 若乙個函式被指定為inline函式,則它將在程式中每個呼叫點上被內聯地展開。一般來說,內聯函式不會引入任何函式呼叫。所以可以提高執行效率。注意,函式home get height 和width 的定義是在類體內提供的。這些函式被稱為 在類定義中定義的內聯 inline 函式 這些函式...

C 方法名前的方括號是幹嘛用的呀?

我們經常會看到一些c 的方法名前有乙個方括號,裡面有一行文字,如 1 序列化 serializable public void 方法名 2 webservices方法 webmethod public void 方法名 3 ajax ajaxpro 方法 ajaxpro.ajaxmethod pub...