c++面经汇总35题
- push_back()左值和右值的区别是什么?
- move底层是怎么实现的?
- 完美转发的原理是什么?
- 空类中有什么函数?
- explicit用在哪里?有什么作用?
- 成员变量初始化的顺序是什么?
- 指针占用的大小是多少?
- 野指针和内存泄漏是什么?如何避免?
- malloc和new的区别是什么?
- 多线程会发生什么问题?线程同步有哪些手段?
- 什么是STL?
- 对比迭代器和指针的区别
- 线程有哪些状态,线程锁有哪些?
- 解释说明一下map和unordered_map
- vector中的push_back()和emplace_back()的区别、以及使用场景
- 如何实现线程安全,除了加锁还有没有其他的方式?
- vector扩容,resize和reserve的区别
- vector扩容为了避免重复扩容做了哪些机制?
- C++中空类的大小是多少?
- weak_ptr是怎么实现的?
- 虚函数的底层原理是什么?
- 一个函数f(int a,int b),其中a和b的地址关系是什么?
- 移动构造和拷贝构造的区别是什么?
- lamda表达式捕获列表捕获的方式有哪些?如果是引用捕获要注意什么?
- 哈希碰撞的处理方法
- unordered_map的扩容过程
- vector如何判断应该扩容?(size和capacity)
- 构造函数是否能声明为虚函数?为什么?什么情况下为错误?
- 类中static函数是否能声明为虚函数?
- 哪些函数不能被声明为虚函数?
- 如何保证类的对象只能被开辟在堆上?(将构造函数声明为私有、单例)
- 讲讲你理解的虚基类
- C++哪些运算符不能被重载?
- 动态链接和静态链接的区别,动态链接的原理是什么?
- C++中怎么编译C语言代码? 答案附在面经中
全网最受欢迎的嵌入式面经
面经一共32篇文章,12w+字数,包含全部最新的面试必问考点,4.7w+同学学习,2800+订阅,非常适合在找工作面经薄弱的同学,3000+订阅还会涨价,提前订阅提前享受,持续更新中。
原帖链接:https://www.nowcoder.com/creation/manager/columnDetail/MJNwoMc