C++学习之路--1

n a m e s p a c e \color{red}{ 一、双冒号运算符 namespace}

全局作用域直接加:

n a m e s p a c e \color{red}{ 二、命名空间 namespace}

namespace命名空间主要用于解决命名冲突的问题


namespce A
{
	int m_b = 100;
}

1、命名空间下可以放函数、变量、结构体、类
2、命名空间必须定义再全局变量下

namespace A
{
	void func()
	int m_a=20;
	struct person
	{
	};
	class Animal{};
	namespace B
	{
		int m_a = 10;
	}	
}

3、命名空间可以嵌套

namespace A
{
	namespace B
	{
		int m_a = 10;
	}	
}

4、命名空间是开放的,可以随时的往原先的命名空间添加内容,此A命名空间会和上面的命名空间A进行合并

namespace A
{
	int m_a=0; //相当于static int m_c,只能在当前文件夹使用
}
namespace A
{
	int m_a = 10;
}	

5、无名、匿名命名空间

namespace 
{
	int m_c=0; //相当于static int m_c,只能在当前文件夹使用
}

6、命名空间可以起别名

namespace veryLongName
{
	int m_c=0; //相当于static int m_c,只能在当前文件夹使用
}
void test()
{
	namespace short = veryLongName;
}

u s i n g \color{red}{ 三、 using}

首先看一个问题
在这里插入图片描述
输出为20,而加一个声明后出现了错误!
在这里插入图片描述
编译指令
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43615373/article/details/90272469
今日推荐