c++【作用域】

本文介绍了C++中的作用域运算符和命名空间概念。作用域运算符`::`用于访问全局变量,而命名空间则用于解决标识符命名冲突问题,提供了一种组织代码的机制。通过示例展示了如何在不同作用域中定义和访问变量,并解释了匿名命名空间的特性,强调了其在限制作用域范围上的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

:: 作用域运算符(表明 数据,方法归属)
int a=10;
void test(){
	int a=20;
	cout << a << endl; //20 局部变量在作用域内具有较高的优先权,屏蔽全局变量
	//访问全局变量
	cout << ::a << endl; //10
}
命名空间

避免标识符命名发生冲突,C++ 引入 关键字 namespace(命名空间),更好的控制标识符作用域。
注意:命名空间只能在全局范围内定义。

namespace A{int a=10;}
namespace B{int b=20;}
void test(){
	cout << A::a << endl;
	cout << B::b << endl;
}

命名空间内定义变量和函数

namespace A{
	int a=10;
	//即可声明又可实现
	void func();    
	void func1(){}; 
}
//成员函数
void A::func(){
	cout << a << endl; //此处可以不用 A:: , 因为 A::func 已经表明是命名空间A
}
//普通函数
void funcx(){
	cout << A::a << endl; //必须 A::
}

匿名命名空间

namespace{
	//属性,方法的作用范围 只属于该文件
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值