-
指针和引用区别
- 引用不可以为空,不可以更改,指针可以为空,可以更改,指针声明的时候必须初始化,可以为null==0
char* p = 0; char& rc = *p 错误,引用被初始化为空
- 引用可以不验证有效性,指针一定要验证有效性
if(p)
- 结论:指向某个东西绝对不会改变指向的东西,或者实现一个操作符其它语法无法有pointer完成,则使用引用,否则,使用指针
- 引用不可以为空,不可以更改,指针可以为空,可以更改,指针声明的时候必须初始化,可以为null==0
-
转型操作符
- 默认的C语言可以在任何类型之间进行转化,例如
void * == struct *
之间的转换 static_cast<>
强制类型转化,转换前后必须满足可转换的关系,例如static_cast<double>(int)
const_cast<>
去const强制类型转换,可以将const去掉,转化后可以修改对应的值,一般用于参数传递update(const_castr<Widget *> &widget)
- 默认的C语言可以在任何类型之间进行转化,例如