c/c++复习笔记--001

1. 多态与重载

多态基于类的虚函数,子类重新定义父类的虚方法,相同的函数名有不同的函数体,程序运行中动态绑定调用地址;

重载基于同名的函数,编译器依据同名函数的参数不同来区别函数,程序编译期静态绑定调用地址;

2.字符串与字符

“s"占2个字节,系统自动添加”\0“;

's'占一个字节;

3.符号常量

#define a 3.12 与其他预编译指令一样不加分号,此外,其不显示指定类型;

const double a=3.12;

常量其值不改变,必须设置初始值;

4.类型转换

系统内部的隐式转换向高字节方向转换,(short,char->int)->unsigned->long->(double<-float);

人为强制转换类型,如:double(a) , (double)a;

c++编译器自动检查类型不一致问题;

5.不变性

在类型转换里面,变量被借用参与运算,但其自身类型不变;

在位运算里面,参与移位运算的变量值不变;

6.inline

编译器进行内联函数替换之前必须知道函数体,之前只有函数申明为无效;

只有带switch 或循环的函数不能说明为内联函数;

函数内联在定义时加inline即可;

7.形参值

在函数的定义与申明处,形参值最多出现一次;

所有带值的形参必须出现在无值形参的右边;

调用函数如果使用了形参值,形参值必须出现在调用之前;

8.数组

do while()后面加分号

在数组a[5]中,a+i代表首地址偏移i个存储单元,而非字节

二维数组按行存储,按行赋值,行大小可以省略;

数组涉及到赋值,没有赋值的为0或者‘\0’;

9.字符串

strcpy(stra,strb)可以理解为strb用‘\0’补齐成stra的长度,然后strb全部给stra;

stra,strb内存大小不会变

10.共用体与结构体

相同点:2者都可以以整体的形式取地址,sizeof计算整体内存,同型整体相互赋值;

不同点:共用体所有成员共用一个地址,采用覆盖技术,只能够初始化第一个成员;





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值