namespace
const
!考点
从右往左看法
- const int * p;
- int const * p;
- int * const p;
- const int * const p;
首先,4没有什么好说的。其他的都首先找到变量p,然后从右往左解析。看看1,p是一个指针,指向的是一个int,然后int是const的。即p是一个指向const int的指针。看看2,p是一个指针,指向一个const什么东西,然后发现const的是int。即p是一个指向const int的指针。看看3,p是一个const的什么东西,然后发现是const的指针,然后发现指向的是int。即p是一个指向int的const指针。看看4,其实不需要分析了,就是最严格的形式。
new/delete
!考点
new/delete表达式与malloc/free的区别是?
1)malloc/free是C/C++语言的标准库函数,new/delete是C++的运算符或表达式 ;
2)new能够自动分配空间大小,malloc需要传入参数; 3)new开辟空间的同时还对空间做了初始化的操作,而malloc不行;
4)new/delete能对对象进行构造和析构函数的调用,进而对内存进行更加详细的工 作,而malloc/free不能。
引用/别名
强制转换
static_cast: 一般转换
dynamic_cast:基类、派生类
const_cast: 常量指针/常量引用/常量对象,转换成非常量(且指向原来对象)
reinterpret_cast:重新解释,随意转换
函数重载
函数默认参数
bool 类型
inline 函数
异常安全
throw
1 | double division(double x, double y) |
try catch
1 | void test() { |