C++入门
来源:互联网 发布:c语言编程器下载 编辑:程序博客网 时间:2024/05/01 15:09
1.命名空间
在基本的C++程序里面,在#include语句之后会有一句“using namespace std;”,意思是使用“std”这个命名空间,把std里面的对象(如cout、endl)变为全局对象,可以直接使用。若没有“using namespace std;”,则需要通过“std::cout”来使用。“::”叫做域访问符,用于访问命名空间。
命名空间也看可以自己定义,如:
namespace MY
{
int a = 0;
}
则可以通过“MY::a”来使用,或者先“using namespace MY;”把MY命名空间里面的对象变为全局对象,然后直接用“a”来调用。
2.基本的输入输出流
C++标准使用的输入输出流跟c语言不一样,是在“iostream”头文件里面的cout和cin,而搭配使用的是输出符“<<”和输入符“>>”,如:
{
int a = 0;
cin >> a;//用户输入a的值
cout << a << endl;//输出a的值并换行
}
当然,在c++里也可以使用c语言stdio.h头文件里面的printf和scanf函数。
3.重载
C++是支持函数重载的,如:
void fun(int a, int b){}
和
void fun(float a, float b){}
两个函数参数不同,但函数名相同的函数能够同时存在。
但是c语言却不支持函数重载,因为在c语言中,编译后函数名会变成_fun,跟参数无关。但是在C++中编译后函数名会变成“_fun_int_int”和“_fun_float_float”,所以两个可以同时存在。
4.缺省参数
C++中,函数的参数可以缺省,如:
int Add(int a = 10, int b = 20){}//全缺省参数函数…………①
int Add(int a, int b = 20){}//半缺省参数函数…………②
以下定义是错的:
int Add(int a = 10, int b){}//半缺省只能从右边开始
可以用以下方式调用①
Add(); //全缺省调用,用默认值
Add(1); //半缺省调用,a用1,b用默认值
Add(1, 2); //正常调用
但不能用以下方式调用①
Add(, 2); //只能从左边的数开始赋值
可以用以下方式调用②
Add(1);
Add(1, 2);
但不能用以下方式调用②
Add();//因为a一定要传参
5.引用
{
int a = 10;
int& b = a;//给a起一个别名,而不是“取地址”
printf("%d\n", a);//输出10
printf("%d\n", b);//输出10
a = 20;
printf("%d\n", a);//输出20
printf("%d\n", b);//输出20
b = 30;
printf("%d\n", a);//输出30
printf("%d\n", b);//输出30
}引用定义时必须初始化,定义后不能再赋值一次。
引用后,无论对引用变量赋值还是对原变量赋值,都会对两个值同时修改。
{
const int a = 10;
int& b = a;//编译不通过
}
{
const int a = 10;
const int& b = a;//编译通过
}
void Swap(int& a, int& b)
{
int c = a;
a = b;
b = c;
}
可以不用指针,用引用,使用指针要验空。
- 入门C
- c 入门
- C入门
- C++/C程序设计入门
- 【c/c++】Vector入门
- C语言入门-指针入门
- C入门:C调用DLL
- 【编程 C】入门C小结
- DataGrid入门经典(C#)
- AJAX入门(C#)
- c语言入门
- C 规则表达式入门
- C语言入门手册
- Unix c 入门指导
- c程序员入门导引
- C语言入门
- C 规则表达式入门
- Objective-C入门
- [图解数据结构之Java实现](2) --- 线性表之链表实现
- P3851航运调度
- Codeforces 702D Road to Post Office(模拟 + 公式推导)
- 郑州集训DAY3笔记
- css学习-2017.10.7
- C++入门
- 2017.10.07【NOIP提高组】模拟赛B组 Heatwave 题解
- 【Sort】242. Valid Anagram
- 360加速球效果实现
- Html+JavaScript+百度地图api:GPS功能单点运动
- (POJ 1949)Chores DAG简单DP
- 前端定位 元素 列表显示
- 深度学习: 验证集 & 测试集 区别
- linux设置串口固定