operator的倆種用法

2021-06-02 16:40:48 字數 598 閱讀 1160

c++,有時它的確是個耐玩的東東,就比如operator,它有兩種用法,一種是operatoroverloading(操作符過載),一種是operator casting(操作隱式轉換)。

1.operator overloading

c++可能通過operator 過載操作符,格式如下:型別t operator 操作符 (),如比重載+,如下所示

templateclass a

private:

t m_; };

又比如stl中的函式物件,過載(),如下所示

templatestruct a

}; 2 operator casting

c++可能通過operator 過載隱式轉換,格式如下: operator 型別t (),如下所示

class a

operatorconst 

b* ()

operator 

b& ()

private:

b* b_; };

a a;

當if(a),編譯時,其中它轉換成if(a.operator b*()),其實也就是判斷 if(a.b_)

**:.html

TLS 倆種基本用法

1靜態主意 動態載入的dll中tls靜態不會被初始化.tls static.cpp 定義控制台應用程式的入口點。include stdafx.h include windows.h include iostream using namespace std 定義靜態tls全域性變數 declspec ...

c 的operator的兩種用法

operator,它有兩種用法,一種是operator overloading 操作符過載 一種是operator casting 操作隱式轉換 1.operator overloading c 可通過operator 過載操作符,格式如下 型別t operator 操作符 如比重載 如下所示 te...

operator 的主要用法

1 operator 用於型別轉換函式 型別轉換函式的特徵 1 型別轉換函式定義在源類中 2 必須須由 operator 修飾,函式名稱是目標型別名或目標類名 3 函式沒有引數,沒有返回值,但是有return 語句,在return語句中返回目標型別資料或呼叫目標類的建構函式。型別轉換函式主要有兩類 ...