输入输出:
//cout为变量 printf 为函数
//cout<<“字符串” :数据从右往左流
//1,链式操作 2,endl和\n换行 3,自动识别类型
//int-%d,float-%f,double-%lf,char-%c,char %s
//cin为变量输入加空格r scanf 为函数输入加“,”
//cin>>a :数据从左往右流
//1,链式操作 2,endl和\n换行 3,自动识别类型
for循环:
//for循环里 可以定义变量,作用域为当前循环
结构体:
//c++认为结构体是新类型,可直接定义变量
寄存器变量:
//register int a=10; printf("&a = %p\n", &a);
//注意:
//1、 C++中允许对寄存器变量进行 & 操作
//2、 进行& 操作则 该变量将被放回内存中
新类型bool:
//!0即真,0为假
三目运算符:
// a>b ? 10 : b = 123;
//注意:
//1、C++中三目运算符返回的是 空间
//2、 如果做左值使用,则返回值中不能存在常量
函数的默认参数:
// 函数的形参可设 默认值
// 注意:
// 1、如果函数的某个形参使用了默认参数,则其右边的所有参数都要有默认参数
// 2、函数声明和函数定义中 ,只能有一个进行设置
//int func1(int a, int b = 10); // 函数声明
函数重载
//条件:1.参数个数不同 2.参数类型不同
//注意:
//1、返回值不可作为重在条件
//2、函数指针指向重载函数严格匹配指针类型
const
//c中修饰只读变量;c++中修饰常量(在符号表中取值,非内存中取值)
//注意:
//1、对const常量取地址时,编译时为其分配空间
//2、const有类型
//3、const有作用域
引用:
//类型&别名=空间
//注意:
//1、a,b同空间
//2、需初始化
// 引用的本质 是一个 常指针 int &ra ===> int * const pa;
// 引用作为函数的返回值: 不能返回 局部变量 的引用 ,但 可以返回 静态变量 全局变量的引用
// 1、不接收返回值
// 2、用普通变量去接收引用, 接收回来的是 值, 不是空间
// 3、用引用接收返回值,接回来的是 空间
// 4、函数返回引用,可以作为左值使用
// 常量引用
// 1、引用变量 : 不能通过引用改变变量的值
// 2、引用常量: 引用常量的时候,编译器会为常量分配空间 引用的是新分配的空间
// 宏 宏常量 宏函数
// 建议用 const 替换宏常量
// 建议用 内联函数 替换宏函数
// 内联函数
// 定义: 在函数定义前加 inline 关键字, 在声明前加无效
// 注意:
// 1、内联是一种请求,不一定通过
// 2、函数不要太长,5行以内
// 3、不要有循环语句和复杂的条件判断语句
// 4、内联成功,编译完以后,函数在可执行程序中是不存在的,不能对内联函数进行取地址操作,不能作为回调函数使用