近期忙于找工作,整理一些觉得重要的相关考点共享出来,也会补充一些简答。
- malloc/free & new/delete;(标准库函数&运算符/是否可以自动调用构造析构函数/是否自动计算空间大小/是否类型安全/返回指针)
- 动态内存的传递;(指向指针的指针/传递引用/通过函数返回值返回拷贝)
- 重载 & 覆写;(编译阶段完成 & 运行阶段完成)
- 关键字sizeof;(变量/联合体/结构体/包含虚函数的类/含虚继承)
- 指针 & 引用; (初始化要求/可修改性/是否可为NULL/合法性检测)
- this;(类的非静态成员函数才有this指针,可考虑C++成员函数存储方式以及C++mangle)
- C语言的static/extern/register;
- C++的static作用;(函数体内/模块内/模块外)
- static全局变量 & 普通全局变量;(初始化次数/作用域)
- static局部变量 & 普通局部变量;(初始化次数/存储方式)
- static函数 & 普通函数;(static函数在内存中只有一份,普通函数每次调用都维持一份复制品)
- struct & class;(区分C的struct和C++的struct)
- 大端小端判断;(union存放顺序所有成员从低地址开始存放)
- C++的四种强制类型转化;(const_cast/static_cast/dynamic_cast/reinterpret_cast)
- volatile作用;(修饰被不同线程访问和修改的变量,编译器不会去假定这个变量的值)
- assert;(判断程序是否出现了非法的数据/ASSERT 宏& assert 函数)
- C++main函数执行之前、之后做哪些事情;(全局对象的构造、析构,可以用atexit()注册main函数之后调用的函数)
- C++ template & Java generic;
- 判断一个变量是有符号还是无符号数;(取反操作/改变符号位)
- 类成员变量初始化;(按照变量声明顺序而且初始化列表顺序/当类含有const、reference、基类构造函数时需要使用初始化列表)