C++命名空间

C++命名空间实际上就是一个由程序设计者命名的内存区域,程序设计者可以根据需要指定一些有名字的空间域,把一些全局实体分别放在各个命名空间中,从而与其他全局实体分隔开来。

例如: namespace name   //指定命名空间为name

接下来我们直接上代码:

1、

#include <iostream>

int a = 30 ; 
//声明一个HotDog名字空间
namespace HotDog
{
	int a = 20 ; 
	namespace  HotPig
	{
		int a = 10 ; 
	};

	void say_hello(void);
};
//实现say_hello()方法
void HotDog::say_hello(void)
{
	printf("hello hotdog\n");
}


int main(void)
{
	/*
		使用::新运算符,用于解决名字冲突
	*/
	printf("a:%d \n" , HotDog::HotPig::a);
	printf("a:%d \n" , HotDog::a);
	printf("a:%d \n" , ::a);
	HotDog::say_hello();

	return 0 ;
}</span>

2、

#include <iostream>

int a = 30 ; 
namespace HotDog
{
	typedef unsigned int U32 ; 

	int a = 20 ; 
	namespace  HotPig
	{
		int a = 10 ; 
	};

	U32 say_hello(U32 a);
};

HotDog::U32 HotDog::say_hello(HotDog::U32 a)
{
	printf("hello hotdog a:%d \n" , a);
}

int main(void)
{
	printf("a:%d \n" , HotDog::HotPig::a);
	printf("a:%d \n" , HotDog::a);
	printf("a:%d \n" , ::a);
	//HotDog::say_hello();
	HotDog::U32 a = 100 ; 
	HotDog::say_hello(a);
	return 0 ;
}</span>
3、

#include <iostream>

int c = 30 ; 


namespace  myspace
{

	int a ; 
	int b ; 
	int c = 20 ; 
	void say_hello(void)
	{
		printf("hello world \n");
	}
};

using namespace myspace ; 


int main(void)
{

	//这里的::相当于C语言结构体访问的.和->
	printf("c : %d \n" ,myspace::c);
	printf("c : %d \n" , ::c);
	//·ÃÎÊsay_hello·½·¨ 
	myspace::say_hello();

	return 0 ;
}






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
命名空间的使用有三种方式: 1. 使用命名空间名称及作用域限定符,比如c::a。 2. 使用using关键字将命名空间中的成员引入,比如using c::a。 3. 使用using namespace命名空间名称引入命名空间的所有成员,比如using namespace c。 其中,方法一是通过在成员前加上命名空间名称和作用域限定符来访问命名空间中的成员。方法二是通过using关键字将特定的成员引入,使得可以直接使用该成员。方法三是使用using namespace关键字引入整个命名空间的所有成员,使得可以直接使用命名空间中的所有成员。 需要注意的是,在使用命名空间时,可以采用方法一、方法二或方法三的任意一种方式,具体选择哪种方式取决于实际需求和代码的清晰度。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [C++命名空间](https://blog.csdn.net/zhang21722668/article/details/83869631)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [C++命名空间(namespace)的使用](https://blog.csdn.net/qq_43533553/article/details/123257675)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值