1. 谈谈const 关键字
- 🍎
const
的作用:被它修饰的值不能改变,是只读变量。必须定义的时候给它赋初值。
- ① 常量指针(底层 const)
指针对其所指的对象不能改变
- ② 指针常量
强调的是指针不能改变
2. define 和 typedef 的区别
- define
①define
定义宏,进行文本替换,只是简单的字符串替换,没有类型安全检查;
② 是在编译的预处理阶段起作用;
③ 可以用来防止头文件重复引用;
④ 不分配内存,给出的是立即数,有多少次使用就进行多少次替换;
- typedef
① 用于定义类型别名,不进行文本替换,有对应的数据类型,是要进行判断的;
② 是在编译,运行的时候起作用;
③ 在静态存储区中分配空间,在程序运行过程中内存中只有一个拷贝;
3. 顺序表和链表的区别
-
顺序表
可以实现随机访问,顺序存储,占用连续的存储空间,空间利用率较高,但是顺序表的插入和删除需要移动多个元素; -
链表
链表只能顺序访问,占用额外的存储空间存储元素间的关系,空间利用率更低,存储空间不一定连续,但是链表的插入和删除操作不需要移动多个元素。
4. 谈谈C++函数重载
- 🍎 函数重载:在同一个作用域中,声明几个类似的同名函数。
- 函数重载的规则:
① 函数名相同;
② 参数的类型,参数的个数,或者是不同类型的参数顺序不同;
③ 返回值可以相同也可以不相同;