C ++中作用域解析运算符的用途是什么?
::(作用域分辨率)运算符用于获取由于变量作用域而导致的隐藏名称,以便您仍可以使用它们。范围解析运算符可以用作一元和二进制
如果命名空间作用域或全局作用域名称被块或类中某个相似名称的特定声明隐藏,则可以使用单个作用域运算符。例如,如果您有一个名为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声明隐藏了在全局命名空间范围中声明的名为my_var的整数。语句::my_var=1访问在全局命名空间范围中声明的名为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
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短