前言:本篇是由C语言步入C++的第一课,旨在学习一些C++的入门语法,帮助后续学习。
一.第一个C++程序
C++兼容C语言,所以一些C语言代码在C++中也可通过
C++拥有专属 IO 流cout与cin
io提速方法只需要加上这些代码
二.namespace的用法
将变量、函数、结构体包装到独立作用域,不同命名空间允许同名标识符,标准库全部存于std命名空间。
同时支持嵌套、多文件自动合并同名 namespace
三.缺省参数
函数声明时给参数赋默认值,调用不传参自动使用默认值
牢记:
- 半缺省必须从右向左连续赋值,不能间隔;
- 声明与定义分离时,默认值只能写在声明中
四.函数重载:C++ 多态入门
同一作用域下,函数名相同,参数列表不同(个数 / 类型 / 顺序),编译器自动匹配调用
五.引用
引用是已有变量的别名,不开辟新内存,与原变量共用同一块地址
使用说明:
1.定义时必须初始化;
2.一个变量可多个引用;
3.绑定后不能重新指向其他变量,赋值仅修改原变量值
引用传参(可代替指针)
const引用
临时对象、常量只能用 const 引用接收,同时注意不能放大权限(允许缩小权限)
六.inline内联函数
作用
编译器建议在调用处直接展开函数代码,省去函数栈帧开销,提升效率,但是仅适合短小、频繁调用函数,递归 / 长函数会被编译器忽略 inline(具体长度取决于编译器)。
注意
inline 声明定义不能分离
七.nullptr替代 NULL
传统NULL是宏,C++ 中被定义为0,重载场景会出现歧义
在C++中尽量用nullptr