cpp命名空间 输入输出 缺省参数 函数重载

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

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;
	}
}

不仅支持嵌套,还支持重名,也就是说用命名空间时不用怕名字冲突啦.同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中。

命名空间怎么使用?
  1. 第一种:将命名空间里面的内容全部展开,这种不安全,不建议使用,不过我们平时写简单的代码时,可以使用,用起来也很方便.
    //using namespace HerMark;

  2. 第二种:部分展开,只展开命名空间部分内容,相对来说比较安全
    //using HerMark::a;

  3. 第三种:用到哪个再展开哪个</

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值