刷野打怪上王者·C++篇·第20期·命名空间

参考链接

RUNOOB.COM

命名空间

    在写大项目的时候,难免会遇到有相同名字的函数,遇到这种情况下我们该如何处理?这时我们可以在前面添加前缀,来进一步明确函数所处的位置。说白点,就是你们班上有两个相同名字小A的同学,但是一个活泼类型、一个内向类型。因此,我们在班上找活泼的小A就只需在前面明确好他的性格类型,就知道找的谁啦。

    那么,在C++中该如何处理呢?C++中需要引入关键字namespace命名空间:

namespace 空间名1
{
    /*核心语句*/
}
namespace 空间名2
{
    /*核心语句*/
}

实例说明:

#include <iostream>

using namespace std;

//命名空间 dog
namespace dog
{
	void getInfo()
	{
		cout << "dog" << endl;
	}
}

//命名空间 cat
namespace cat
{
	void getInfo()
	{
		cout << "cat" << endl;
	}
}
int main()
{
	dog::getInfo();
	cat::getInfo();

	getchar();
}

运行结果

dog
cat

using指令

    在上面程序,我们使用了(using namespace std;)代码,其实就是告诉编译器,后面代码使用该指定的命名空间,所以cout不需要写成(std::cout)格式。当然,即使声明了命名空间using,程序调用时也可以使用std::cout 格式。

命名空间嵌套

    它的含义就是字面的意思,命名空间内可以嵌套命名空间:

扫描二维码关注公众号,回复: 9188416 查看本文章
namespace 空间名1
{
    /*核心语句*/
    namespace 空间名2
    {
        /*核心语句*/
    }
}

实例

#include <iostream>

using namespace std;

//命名空间 dog
namespace dog
{
	void getInfo()
	{
		cout << "dog" ;
	}
	//嵌套命名空间 eat
	namespace eat
	{
		void getInfo()
		{
			cout << " eat meat" << endl;
		}
	}
}


int main()
{
	dog::getInfo();
	dog::eat::getInfo();  //嵌套命名空间访问

	getchar();
}

运行结果

dog eat meat
发布了176 篇原创文章 · 获赞 24 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/CSS360/article/details/104214843
今日推荐