C++:入门知识一(命名空间、输入&输出、缺省参数)

命名空间

使用目的: 对标识符的名称进行本地化,以避免命名冲突或名字污染(也就是可以把名字隔离起来)
定义命名空间? 需要使用一个关键字namespace,后面跟命名空间的名字,然后接一对{} 即可,{}中即为命名空间的成员。

注:
命名空间中的内容,既可以定义变量,也可以定义函数
命名空间可以嵌套
同一工程中允许存在多个相同名称的命名空间
如下所示:

namespace N1
{
 int a;//定义变量
 int Add(int left, int right)//定义函数
 {
  return left + right;
 }
 namespace N2 //在命名空间N1里,嵌套了命名空间N2
 {
  int b;
  int Sub(int left, int right)
  {
   return left - right;
  }
 }
}
namespace N1 // 相同名称的命名空间N1,编译器最后会合成同一个命名空间中
{
 int Mul(int left, int right)
 {
  return left*right;
 }
}

命名空间的使用

1.加命名空间名称及作用域限定符(作用域限定符表示为 ::

int main()
{
 printf("%d\n", N::a);//命名空间为N
 return 0;
}

2.用using将命名空间中成员引入

using N::b;//说明b是命名空间N里的成员
int main()
{
	printf("%d\n",b);
}

3.使用using namespace命名空间名称引入

using namespace N;//这里先把空间内容省略
int main()
{
 printf("%d\n", b);
}

std是C++标准库的命名空间,所以在使用时,我们可以直接用 *using namespace std;

C++输入&输出

简单介绍:输入用cin,输出用cout
cout

cout << "hello world" << endl;//输出hello world
cout << "hello world\n";

以上两种都可换行,在C++中,用前者较多
cin

cin >> a;//输出a
cin >> b >> c;//输出b c
  • 要点:
  • 1.使用cout标准输出(控制台)和cin标准输入(键盘)时,必须包含头文件以及std标准命名空间。
  • 2.使用C++输入输出更方便,不需增加数据格式控制,比如:整形–%d,字符–%c
#include<iostream>
using namespace std;
int main()
{
int a;//整形
double b;//双精度浮点型
char c;//字符型

cin >> a;
cin >> b >> c;

cout << a << endl;
cout << b <<" " << c << endl;
return 0;
}

缺省参数

是声明或函数定义时为函数指定一个默认值。在调用该函数时,如果没有指定实参则采用默认值,否则使用指定的实参。(所以缺省参数就相当于一个备胎)
分类:全缺省参数、半缺省参数
全缺省参数:(所有参数都有参数值)

void TestFunc(int a = 10, int b = 20, int c = 30)//所有参数都有参数值
{
 cout << "a= " << a << endl;
 cout << "b= " << b << endl;
 cout << "c= " << c << endl;
}
int main()
{
 TestFunc();//没有传参时,使用默认的参数值
 //传参时,使用指定的参数 
 TestFunc(1);// a=1,b=20,c=30
 TestFunc(1, 2);//a=10,b=2,c=30
 TestFunc(1, 2, 3);//a=1,b=2,c=3
 return 0;
}

半缺省参数:只能从左往右缺省且连续且至少传一个参数

void TestFunc(int a, int b = 20, int c = 30)
{
cout << "a= " << a << endl;
cout << "b= " << b << endl;
cout << "c= " << c << endl;
}
int main()
{
//至少传一个参数
TestFunc(1);// a=1,b=20,c=30
TestFunc(1, 2);//a=10,b=2,c=30
TestFunc(1, 2, 3);//a=1,b=2,c=3
return 0;
}
  • 注: 缺省参数不能在函数声明和定义中同时出现,否则就不能确定传参时用哪个缺省值了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值