1)C++命名空间的概念
Posted 流浪孤儿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1)C++命名空间的概念相关的知识,希望对你有一定的参考价值。
namespace关键字
在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作 用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字 污染,namespace关键字的出现就是针对这种问题的。
可能这句话没那么容易理解,看代码
其中cout(控制台输出,读作see-out)是将字符串"闪光暴鲤龙"显示到控制台(即屏幕)的语句
cout是在名称空间std中定义的一个流(因此这里使用了std::cout)。(流:好比一个通道,字符串"闪光暴鲤龙"通过这个通道显示到了屏幕),这里使用流插入运算符<<将字符串放到cout这个流中
endl用于换行
在这个程序中,使用的是std::cout而不是cout,原因在于cout位于标准(std)名称空间中
名称空间(命名空间)的概念
假设调用cout时没有使用名称空间限定符,且编译器知道cout存在于两个地方,编译器应调用哪个呢?当然,这会导致冲突,进而无法通过编译。这就是名称空间的用武之地,名称空间是给代码指定的名称,有助于降低命名冲突的风险。通过使用std::cout,该编译器将会调用名称空间std中独一无二的cout
std::cout调用std(读作standard)名称空间里获得iso标准委员会批准的函数
说明一下:目前为止C++的库函数基本上都属于命名空间std,其定义在命名空间内。
cout与endl在iostream头文件中进行了声明
以上是关于1)C++命名空间的概念的主要内容,如果未能解决你的问题,请参考以下文章
C++基础学习笔记命名空间 namespace 的理解和使用