C++八股文面经总结,收藏起来慢慢背!

1. 移动构造函数和移动赋值运算符是什么?作用是什么?
2. RAII(资源获取即初始化)是什么?如何实现?
3. 模板是什么?类型参数和非类型参数有什么区别?
4. 函数模板和类模板是什么?使用场景是什么?
5. 异常处理机制怎样?如何使用try、catch和throw?
6. Lambda表达式是什么?在C++11中作用是什么?
7. std::function是什么?用途是什么?
8. std::bind是什么?如何与Lambda结合使用?
9. std::thread如何使用?如何管理线程的生命周期?
10. 条件变量是什么?如何用于线程间的同步?
11. std::unique_ptr和std::shared_ptr有什么区别?
12. std::weak_ptr有什么作用?如何避免循环引用?
13. std::array和C-style数组有什么区别?
14. std::string和C-style字符串有什么区别?
15. const_cast、static_cast、dynamic_cast和reinterpret_cast有什么区别?
16. 多重继承会带来什么问题?如何解决?
17. 虚继承是什么?解决了什么问题?
18. 友元函数和友元类是什么?作用是什么?
19. 命名空间是什么?作用是什么?
20. 类型萃取(Type Traits)是什么?用途是什么?
21. SFINAE(Substitution Failure Is Not An Error)是什么?
22. constexpr是什么?作用是什么?
23. std::variant是什么?与union有什么区别?
24. std::optional是什么?使用场景是什么?
25. std::deque和std::vector有什么区别?
26. std::list和std::forward_list有什么区别?
27. std::map和std::unordered_map的时间复杂度分别是多少?
28. std::set和std::unordered_set的时间复杂度分别是多少?
29. std::function和函数指针有什么区别?
30. 智能指针如何避免内存泄漏?如何使用?

问题答案已经整理到专栏中了,关注我分享更多知识。
全部评论

相关推荐

5 59 评论
分享
牛客网
牛客企业服务