概述
一、关键字
C++共计63个关键字,相比于C语言的32个关键字,多了将近一倍。下图是我从菜鸟教程https://www.runoob.com/cplusplus/cpp-basic-syntax.html中引入的C++关键字全集。
由于现阶段只是初学C++,本文不对关键字做详尽的介绍,待后期学到再细说。想要了解详细的关键字用法看这里C++ 的关键字(保留字)完整介绍 | 菜鸟教程
二、输入输出
C++ 引入了命名空间的概念,计划重新编写库,将类、函数、宏等都统一纳入一个命名空间,这个命名空间的名字就是 std 。 std 是 s tan dard 的缩写,意思是“标准命名空间”。(引用自C语言中文网C++头文件和std命名空间(精辟) (biancheng.net))
总而言之,std是C++标准库的命名空间名,控制输入输出的cin、cout也在std中,因此使用的时候需要按照使用命名空间的规则去使用。命名空间如何使用在此不做赘述,可参看另一篇文章:http://t.csdn.cn/XS6pG
此处我们只是简单学习cin、cout的使用,其背后复杂的原理暂不赘述。
输入:cin;输出:cout;
使用格式:
#include<iostream> //包含输入输出等的声明的头文件
using namespace std;
int main()
{
cout<<"Hello world!"<<"I love China!"<<endl; //endl也是std中的,意思是换行。相当于'n'
int a=0;
cin>>a; //cin可以自动识别变量的类型。
}
注意!cin和cout都可以自动识别变量的类型,不需要像C语言一样说明变量类型。而且可以通过"<<"或者“>>”实现连续的输入输出。但是有时候使用C++的输入输出方法并不方便。比如说需要控制输出的变量小数点后保留一个确定的位数时,使用C语言printf输出显然更为便捷。因此在实际编写代码的时候,遵循哪个方便用哪个的原则,混合使用C/C++语言。
三、命名空间
详解请看本文http://t.csdn.cn/XS6pG。
四、缺省参数
1.概念
缺省的意思是“默认”。缺省参数是在声明或者定义函数的时候,为函数的参数指定一个“缺省值”。在调用函数传参的时候,如果没有指定的实参,就默认使用缺省值。
void Function(int a=0)//此处为形参a指定了一个缺省参数,如果没有实参则默认a为0
{
a++;
cout<<a<<endl;
}
int main()
{
Function(100);
Function();
return 0;
}
结果如下:
2.全缺省参数和半缺省参数
全缺省参数,顾名思义,就是给函数的所有形参全部赋予一个缺省值。而只有一部分形参(不一定是一半)有缺省值,就是半缺省参数。
要注意的是,传参的时候是从左往右传参,半缺省的时候只能从右往左缺省。下面我们来具体展开一下。
void Fun(int a=0,int b=1,int c=2)
{
}
int main()
{
Fun(5,6);//函数的形参有3个,但只传了2个,此时形参的值应为
//a=5,b=6。而c只能取缺省值2;即,传参只能从左往右传。
return 0;
}
void Fun2(int a,int b=1,int c=2)
{}//这种写法是对的,但是传参的时候a必须要赋值
void Fun3(int a=0,int b,int c)
{}//这种写法是错的,必须从c开始往左设置缺省值。
注意!缺省参数不能在函数声明和定义中同时出现。否则如果二者的缺省参数不一致,编译器无法确定该用那个缺省值。因此我们只需要在函数声明中出现缺省值即可。例如:
void Fun (int a,int b=2,int c=3);
void Fun (int a,int b,int c)
{
cout<<a<<' '<<b<<' '<<c<<' '<<endl;
}
注意!缺省参数C语言是不支持的。而且缺省值必须是确定的量(常量或者全局变量)。
五、函数重载
重载,意即“一词多义”。C++允许在同一个作用域内存在几个功能类似的同名函数。
注意!函数重载要求同名函数的形参个数、类型或类型顺序不同。
void Fun(int a,int b,int c)
{};
void Fun(int a,int b)//参数个数不同
{};
void Fun(double a,int b,int c)//参数类型不同
{};
void Fun(int a,double b,int a)//和上一个类型顺序不同
{};
void Fun(int b,int a,int c)//这个和第一个完全一样!这是重定义而不是重载!
{};
注意!第三中是类型顺序不同而不是参数名字顺序不同!
C++支持函数重载的底层原理与其名字修饰规则有关,同名函数看似“同名”,事实上在编译的时候是有区别的,具体过程目前也暂且不做赘述。
最后
以上就是可耐流沙为你收集整理的C++入门(1)——基础知识一、关键字 二、输入输出三、命名空间四、缺省参数五、函数重载的全部内容,希望文章能够帮你解决C++入门(1)——基础知识一、关键字 二、输入输出三、命名空间四、缺省参数五、函数重载所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复