命名空间——c++敲门砖
以上是命名空间的解释!!!
1.c++的输入&&输出
代码示例
#include<iostream>
using namespace std;
int main()
{
cout<<"hello word"<<endl;
return 0;
}
说明:
1.
使用
cout
标准输出对象
(
控制台
)
和
cin
标准输入对象
(
键盘
)
时,必须
包含
< iostream >
头文件
以及按命名空间使用方法使用
std
。
2. cout
和
cin
是全局的流对象,
endl
是特殊的
C++
符号,表示换行输出,他们都包含在包含
<
iostream >
头文件中。
3.
<<
是流插入运算符,
>>
是流提取运算符(流可以看作是信息仿佛水流在传递,信息流入或流出),
实际上涉及到了运算符重载的概念(别急稍后的章节呈现)。
4.
使用
C++
输入输出更方便,不需要像
printf/scanf
输入输出时那样,需要手动控制格式,
C++
的输入输出可以自动识别变量类型。(超方便有没有,但是同时,在某种程度上来说,使用流降低了程序的运行速度!!!,在竞赛中选手一般会关闭流的同步输入输出)。
2.缺省参数
2.1概念
例子:
void fun(int a=0)//给参数默认值,如何呢,是不是灵活多了呢
{
cout<<a<<endl;//顺便将新的输入输出用起来吧!
}
int main()
{
fun();//没有参数,所以调用函数默认值
fun(10);//传参时,使用指定的实参
return 0;
}
大家有没有遇到过,有时候想要给函数传参,但有时候又不想给的经历呢,c++很好的利用缺省参数这一性质,弥补了c语言不够灵活的特点,缺省参数的强大尤其体现在构造函数当中!!!(卖个关子)
2.2 缺省参数分类
字面意思,当函数含有多个参数时,全部给了默认值称为全缺省,没给全成为半缺省(不是单指给一半哈哈哈)。
值得大家注意的是
1.半缺省参数只能从右向左给出
void fun(int a,int b=1)//is right !
void fun(int a=1,int b)// is wrong Ovo
2. 缺省参数不能在函数声明和定义中同时出现(大家约定成俗,在定义中给缺省参数)
3.缺省值必须为常量或者全局变量喔。
3.函数重载(贼好用,当然后边的模板更好用,但我们先一个一个介绍好吗亲)
自然语言中,一个词可以有多重含义,人们可以通过上下文来判断该词真实的含义,即该词被重
载了。
比如:以前有一个笑话,国有两个体育项目大家根本不用看,也不用担心。一个是乒乓球,一个
是男足。前者是
“
谁也赢不了!
”
,后者是
“
谁也赢不了“。(冷)
5.1概念
函数重载:是函数的特殊情况,主要目的是在同样的作用域中规定功能类似的函数(针对参数的不同)
下列代码包括情况
1.参数类型不同
2.参数个数不同
3.函数参数类型不同
4.返回值不同(假的)Ovo
#include<iostream>
using namespace std
// 1、参数类型不同
int Add(int left, int right)
double Add(double left, double right)
// 2、参数个数不同
void f()
void f(int a)
//3·函数参数类型顺序不同
void add(int a,double b)
void add(double a,int b)
这时候有人会问了,博主博主,
为什么返回值不行呢
ok我以最简略的语言说明,保证你一直牢记。
一句话:函数的真实名字是
函数名字+参数类型(想要深究就得关注程序的完整编译过程了,所以在这不做解释)从下图可以明显看出来
![](https://img-blog.csdnimg.cn/direct/87bfee56a98b47579144e20ac7ee817b.jpeg)
4 引用&
4.1引用概念
一句话,给他起了个外号
类型& 引用对象名字=引用实体;
int main()
{
int a=10;
int& ra=a;//对其中一个操作,其实就是对两个操作
cout<<a++<<endl;
cout<<ra<<endl;
}
4.2引用特性
1.引用必须在定义的时候初始化
2.一个变量可以有多个引用(取外号嘛,一个人可以有几个外号)
3.引用一旦成为一个实体别名,无法更改(一个外号对应几个人,谁知道喊得是谁)
关于引用的知识我将保留绝大部分关键在下篇文章概述(太长了汗颜),
如果这篇文章有帮助到你的话,我将不胜感激。