访问变量:对象占有内存的第一个字节的地址为对象地址(0X),通过对象名或地址进行读写访问
交换指针值: 通过第三方指针变量; 交换指针对象值:通过第三方对象变量
void类型指针按转换类型解释所指对象
常量指针定义: const 类型
*标识符 = &常量/变量(间址只读)
指针常量定义: 类型 *
const 标识符 = &变量(定义初始化)
指向常量的指针常量定义: const 类型 * const 标识符 = &常量/变量(间址只读)(定义初始化)
常引用定义: const 类型
& 引用名 = 变量名, 引用只读
表达式类型: 算术(sizeof)、逻辑(关系,逻辑)、条件(三目)、赋值、逗号表达式
运算符优先级:
引用对象 > 单目(右) > 算术 > 位运算/提取符 > 关系 > 按位/逻辑 > 条件(右) > 赋值(右) > 逗号
其中 : 乘除 > 加减 > 提取 > 大小 > 对等 > 按位 > 逻辑 > 三目 > 赋值
例如: b = a++ / ++a ,编译扫描器从左开始识别运算符,根据顺序及优先级会出现
b = a,a++/a++,b=a 两种结果
表达式算术运算值只有(int、double、long、unsigned int/long)五种类型,向高长看齐,具有强制性,
类型转换会逐算符且先转换括号内类型
逻辑表达式只有True、False两值,包含关系、逻辑运算符进行左结合运算
当表达式&&(与)
第一个值为False不对后面求值,当||(或) 第一个值为True不对后面求值
赋值表达式称为左值表达式,可右结合关联赋值,结合后省略右值继续运算
与双目运算符结合可缩写表达式:A = A op B --> A op= B
输入输出流iostream 中输出格式控制符有:endl换行清空流、ends空格清空流、dec/oct/hex进制、
setfill()填充符,setprecision()浮点输出精度、setw()输出宽度
函数是功能抽象的模块;作用为任务划分与代码重用;一个c++文件最少有一个函数即主函数
函数有输入流,函数体与输出流,输入流有参数(指针,引用,值),输出流有返回值与参数(调用,指针,引用)
定义形式:
当调用在定义之前需要声明函数原型: 返回值类型 函数名(形参列表) ; 声明语句加分号
原型形参名可省略,函数可作为原型,函数地址为函数名指向的地址
形参列表需与函数形参一一对应,其中有默认值的在最后,且重载时不允许有除默认值项外相同的原型
调用函数时实参需与形参对应,参数传递有值传递,指针传递,引用传递,
传值参数会复制实参值到形参对象中(强转),修改在形参对象中完成,不影响实参,实参可以是常量,初始化变量或表达式,函数返回值通过匿名对象返回后对象撤销