文章目录
1.命名空间
命名空间到底是什么呢?
命名空间是一个容器,这个容器主要是为了识别其下的类和函数。一旦定义了命名空间,它下面的代码就属于这个命名空间了,所以命名空间的定义要在代码的最开始行。
对于同一个包来说,同一个命名空间或者子命名空间的代码没有必要在一个 PHP
文件中定义,子命名空间下的代码是为了完成特定模块的工作,组合起来就是一个包完整的命名空间。
我们看下面这行代码,其中namespace 就是我们C++中的命名空间.
using namespace std;
std 是cpp命名空间标准库,像 cin cout 都包含在其中.
为什么C++为什么要引入命名空间?
在我们的C/C++语言中,变量、函数以及类都是大量存在的,这些变量、函数以及类都是存在于全局域中的,一不小心,我们就有可能有冲突,再比如,假如我们以后写项目,要链接第三方的库文件,那么是不是就很有可能我们自己起的名字就有可能和别人的冲突,在我们的C语言中,我们只能靠将名字尽量起的复杂一点来解决这个问题,但是也还是无法完全避免,所以为了避免这种冲突,C++就引入了命名冲突这种机制,来避免命名冲突,解决命名冲突的问题。
如何定义命名空间?
命名空间要如何去定义呢? 看下面的代码格式
namespace 名称{
}
举一个生动形象的栗子:
namespace HerMark{
int a=0;
int b=1;
int add(int a,int b)
{
return a+b;
}
}
这个代码的意思就是,a,b变量以及add函数就是我们HerMark命名空间下的,假如再有一个add函数,那么它就不是我们这里的add函数了。这样就很方便的使用我们自己命名空间下的东西了.
由此可见,命名空间不仅可以定义变量还可以定义函数。
命名空间支持嵌套吗?
支持!
namespace zhangsan{
int a;
namespace lisi{
int b;
}
}
不仅支持嵌套,还支持重名,也就是说用命名空间时不用怕名字冲突啦.同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中。
命名空间怎么使用?
-
第一种:将命名空间里面的内容全部展开,这种不安全,不建议使用,不过我们平时写简单的代码时,可以使用,用起来也很方便.
//using namespace HerMark; -
第二种:部分展开,只展开命名空间部分内容,相对来说比较安全
//using HerMark::a; -
第三种:用到哪个再展开哪个</

本文介绍了C++中的命名空间,包括其作用、定义方式和使用,强调了其在解决命名冲突上的重要性。此外,讲解了C++的输入输出操作,如`cout`和`cin`的使用。接着,讨论了缺省参数的概念、分类及特性,并举例说明。最后,详细阐述了函数重载的规则、作用,以及C与C++在函数重载支持上的区别。
最低0.47元/天 解锁文章
318

被折叠的 条评论
为什么被折叠?



