C++ 中範圍解析運算子的作用是什麼?


:: (範圍解析) 運算子用於獲取由於變數範圍而隱藏的名稱, 以便仍可使用。範圍解析運算子既可用作一元運算子, 也可用作二元運算子

如果某個類似名稱的宣告在塊或類中隱藏了 namespace 範圍或全域性範圍名稱, 則可以使用單個範圍運算子。例如, 如果你有一個名為 my_var 的全域性變數, 還有一個名為 my_var 的區域性變數, 那麼為了訪問全域性 my_var, 你需要使用範圍解析運算子。例如,

示例

#include <iostream>  
using namespace std;  

int my_var = 0;
int main(void) {
   int my_var = 0;
   ::my_var = 1;  // set global my_var to 1
   my_var = 2;    // set local my_var to 2

   cout << ::my_var << ", " << my_var;
   return 0;
}

輸出

這將給輸出 −

1, 2

在主函式中宣告的 my_var 宣告隱藏了在全域性 namepacae 範圍中宣告的整數 my_var。語句 ::my_var = 1 訪問在全域性 namespace 範圍中宣告的變數 my_var。

你也可以使用範圍解析運算子來使用類名或類成員名。如果類成員名被隱藏,則可以使用其類名和類範圍運算子對其進行字首來使用它。例如:

示例

#include <iostream>
using namespace std;

class X {
   public:
   static int count;
};

int X::count = 10;      // define static data member
int main () {
   int X = 0;          // hides class type X
   cout << X::count << endl;   // use static member of class X
}

輸出

這將給輸出 −

10

更新於: 11-Feb-2020

422 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.