c++面经汇总35题

1. std::vector的insert()与push_back()的区别是什么?
2. unique_ptr底层是如何实现资源管理的?
3. C++中的重载与覆盖的原理是什么?
4. 一个类的默认构造函数中会包含哪些内容?
5. virtual关键字用在哪里?有什么作用?
6. 类的成员函数的调用顺序是什么?
7. C++中的引用占用的内存大小是多少?
8. 什么是悬空指针和内存泄漏?如何避免它们?
9. free和delete的区别是什么?
10. 多线程编程中可能会遇到哪些问题?如何进行线程同步?
11. 什么是C++标准库(STL)?
12. 迭代器和索引访问的区别是什么?
13. 线程的生命周期有哪些状态,锁的种类有哪些?
14. 解释一下std::map和std::unordered_map的区别。
15. std::vector的resize()和reserve()有什么不同、以及使用场景?
16. 如何实现线程安全,除了使用互斥锁还有哪些方法?
17. std::vector扩容时,resize和push_back的区别是什么?
18. std::vector扩容时为了避免频繁扩容采取了哪些策略?
19. C++中空结构体的大小是多少?
20. shared_ptr是如何管理资源的?
21. 虚析构函数的底层实现原理是什么?
22. 一个函数g(int x, int y),其中x和y的地址关系是什么?
23. 移动赋值和拷贝赋值的区别是什么?
24. lambda表达式中的捕获方式有哪些?引用捕获时需要注意什么?
25. 处理哈希冲突的常见方法有哪些?
26. std::unordered_map的扩容机制是怎样的?
27. std::vector如何判断是否需要扩容?(size与capacity的关系)
28. 构造函数可以被声明为override吗?为什么?
29. 类中的静态成员函数可以是虚函数吗?
30. 哪些成员函数不能被声明为虚函数?
31. 如何确保一个类的实例只能在堆上创建?(私有构造函数、单例模式)
32. 请解释你理解的虚继承。
33. C++中哪些运算符无法被重载?
34. 静态链接和动态链接的区别,动态链接的机制是什么?
35. C++中如何调用C语言编写的函数?
答案附在面经中
全部评论

相关推荐

10-01 09:50
门头沟学院 Java
肖先生~:这个人真的很好,点赞
点赞 评论 收藏
分享
评论
点赞
6
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务