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
广告
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP