C 域作用符及其高階用法

2021-09-28 21:27:12 字數 855 閱讀 1765

基礎用法

命名空間說明符

最常用的,,std::cout之類的,或者是自定義的命名空間。

類作用符

這是第二個基礎的用法,用於類函式定義使用的

class c ;

void c::foo()

全域性變數說明符

當區域性變數和全域性變數重名的時候,使用::來顯式說明全域性變數。

#include

static int n = 10;

int main()

模板元程式設計中的高階用法

下面這些內容參考自《c++模板元程式設計實戰》,作者李偉。

模板元程式設計中,::可以返回型別甚至是模板,具體參照**:

#include

template

struct fun_ ;

template <>  // 模板特化

struct fun_;

int main()

再**中直接使用域作用符進行型別的說明。

模板也可以作為元函式的輸出:

#include

#include

template struct fun_;

template <>

struct fun_;

template <>

struct fun_;

// 注意這裡的高階用法

template

template

using fun = typename fun_::template type;

// 即使是有別名,還是需要顯式說明模板

template

using res_ = fun;

int main()

C 域作用符

在c 中表示作用域,和所屬關係。是運算子中等級最高的,它分為三種,分別如下 一 作用域符號 作用域符號 的前面一般是類名稱,後面一般是該類的成員名稱,c 為了避免不同的類有名稱相同的成員而採用作用域的方式進行區分。例如 a,b表示兩個類,在a,b中都有成員member。那麼 1 a member就表...

C 之static及其作用域

一 面向過程設計中的static 1 靜態全域性變數 在全域性變數前,加上關鍵字static,該變數就被定義成為乙個靜態全域性變數。我們先舉乙個全域性變數和靜態全域性變數的例子,例如,在檔案a中定義靜態全域性變數 i 和全域性變數 j includeusing namespace std stati...

static及其作用域

一 面向過程設計中的static 1 靜態全域性變數 在全域性變數前,加上關鍵字static,該變數就被定義成為乙個靜態全域性變數。我們先舉乙個靜態全域性變數的例子,如下 example 1 include void fn static int n 定義靜態全域性變數void main void f...