C++命名空间 输入输出流 缺省参数

命名空间namespac

在学习编程语言的过程中,接触的类会越来越多,而这些变量和函数都存在于全局作用域中,会导致许多冲突。

命名空间的存在就是对标识符的名称进行本地化,以避免命名冲突。

例如c语言中👇

include<stdlib.h>
int rand=0;

int main()
{
//此处会因为lib头文件中包含了对rand的定义,而我们自己也定义了rand让程序懵了
//编译会报错
printf("%d",rand);
return 0;
}

C++中有函数局部域,全局域,命名空间域,类域。其中局部域和全局域会影响变量的声明周期,命名空间域和类域不影响变量的声明周期。

//命名空间的使用方法
//namespace 空格 命名
namespace zaoshanghao
{
int chilemanin=1;
}

//使用方法 (命名空间名字::变量名)
int main()
{
printf"%d",zaoshanghao::chilemanin);
}

using可以将命名空间展开,如果不少特指某成员展开的话直接使用是完全展开。

类似在平时使用C++的时候会敲:using namespace std;

就会把std命名空间中所有成员变量展开。

而c++有方法部分展开成员变量

namespcae zaoshanghuai
{int a=0;
int b=2;}


//当我们需要频繁需要命名空间中某个变量的时候
//可以部分展开变量成员。例如以下
using zaoshanghuai::a;

int main()
{
printf("%d",a);
printf("%d",a);
printf("%d",a);
printf("%d",zaoshanghuai::b);
}

输入输出流

iostream 是input output stream的缩写,是标准输入,输出流库。

std::cin是istrea类的对象,面向窄字符的标准输入流。

std::cout是ostrea类的对象,面向窄字符的标准输出流。

std::endl是一个函数,相当于插入一个换行字符。

以上都是在using namespace std展开可以使用的功能

缺省参数(默认参数)

缺省参数是声明或者定义函数的参数指定的一个缺省值,如果在调用这个函数的时候没有给定实参值的话,该函数会使用作为形参的缺省值。

缺省参数分为全缺省和半缺省,全部形参都给定值的叫全缺省,部分形参给定就是半缺省。

其中c++规定必须从左到右依次给定实参,不能跳跃给实参。

//全缺省
void ZaoCan(int a=10,int b=20,int c=100)
{
cout<<a<<endl;
cout<<b<<endl;
cout<<c<<endl;}

//半缺省
void WanCan(int a,int b=10,int c=200)
{
cout<<a<<endl;
cout<<b<<endl;
cout<<c<<endl;
}

int main()
{
ZaoCan();
ZaoCan(1,2,3);
WanCan(1,2);
}

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值