c++面经汇总35题啊

1. C++中的构造函数和析构函数的作用是什么?
2. 什么是C++中的命名空间?如何使用?
3. C++中的虚析构函数有什么作用?
4. C++中如何实现抽象类和接口?
5. 什么是多态的静态绑定和动态绑定?
6. C++中的默认参数是什么?如何使用?
7. 什么是C++中的强制类型转换?
8. C++中如何使用std::vector和std::list的区别?
9. 什么是C++中的std::map和std::set?
10. C++中的异常安全性分为哪几种级别?
11. 什么是C++中的内存对齐?
12. C++中如何使用std::pair和std::tuple?
13. C++中的friend类和friend函数有什么区别?
14. C++中如何实现模板类?
15. 什么是C++中的类型推导(decltype)?
16. C++中的智能指针如何防止内存泄漏?
17. C++中如何使用std::shared_ptr和std::weak_ptr?
18. C++中的std::mutex和std::lock_guard有什么区别?
19. 什么是C++中的线程安全容器?
20. C++中如何实现条件变量的使用?
21. 什么是C++中的移动语义?
22. C++中的std::function和函数指针有什么区别?
23. C++中如何使用std::algorithm库?
24. C++中的std::initializer_list是什么?
25. C++中如何使用模板元编程?
26. 什么是C++中的类型特征(type traits)?
27. C++中如何实现自定义的迭代器?
28. C++中的std::unique_ptr和std::shared_ptr的使用场景是什么?
29. C++中如何处理字符串和字符数组的区别?
30. C++中如何使用std::string和C风格字符串?
31. 什么是C++中的析构函数的虚函数?
32. C++中如何实现运算符重载的友元函数?
33. C++中的std::array和C风格数组有什么区别?
34. C++中如何使用范围for循环遍历容器?
35. C++中的std::optional是什么,如何使用?
嵌入式C++面经推荐大佬面经  链接在下边
全部评论

相关推荐

1. const和constexpr有什么区别?2. RAII(资源获取即初始化)是什么?它的优点是什么?3. 智能指针有哪些?各自的特点是什么?4. nullptr有什么作用?5. 解释一下虚函数表(vtable)和虚函数指针(vptr)。6. 多重继承会引发哪些问题?如何解决?7. 什么是函数重载和函数覆盖?它们之间有什么区别?8. 如何实现接口(Interface)?9. 解释一下命名空间(namespace)。10. 模板是什么?它们的优点和缺点是什么?11. 解释一下类型推导(type deduction)。12. 异常处理机制是如何工作的?13. 解释一下析构函数的作用和使用场景。14. 引用折叠(reference collapsing)是什么?15. 移动语义(move semantics)是什么?16. std::function是什么?它的用途是什么?17. std::bind是什么?如何使用?18. 如何实现单例模式?19. 多态是如何实现的?20. 解释一下友元(friend)机制。21. 类型转换有哪些方式?分别是什么?22. 内存对齐(memory alignment)是什么?23. volatile关键字有什么作用?24. static关键字的作用是什么?25. 动态类型识别(RTTI)是什么?26. std::shared_ptr和std::unique_ptr有什么区别?27. std::array和C-style数组有什么区别?28. std::list和std::vector有什么区别?29. std::map和std::set有什么区别?30. std::thread的基本使用方法是什么?31. 条件变量(condition variable)是什么?如何使用?32. 信号量(semaphore)是什么?与互斥锁有什么区别?33. 内存管理有哪些方法?如何避免内存泄漏?34. 编译器优化有哪些常见策略?35. 编译过程是怎样的?包括哪些阶段?我面试看的是大佬的面经,链接放下边了#面经#  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
点赞 评论 收藏
分享
1. push_back()左值和右值的区别是什么?2. move底层是怎么实现的?3. 完美转发的原理是什么?4. 空类中有什么函数?5. explicit用在哪里?有什么作用?6. 成员变量初始化的顺序是什么?7. 指针占用的大小是多少?8. 野指针和内存泄漏是什么?如何避免?9. malloc和new的区别是什么?10. 多线程会发生什么问题?线程同步有哪些手段?11. 什么是STL?12. 对比迭代器和指针的区别13. 线程有哪些状态,线程锁有哪些?14. 解释说明一下map和unordered_map15. vector中的push_back()和emplace_back()的区别、以及使用场景16. 如何实现线程安全,除了加锁还有没有其他的方式?17. vector扩容,resize和reserve的区别18. vector扩容为了避免重复扩容做了哪些机制?19. C++中空类的大小是多少?20. weak_ptr是怎么实现的?21. 虚函数的底层原理是什么?22. 一个函数f(int a,int b),其中a和b的地址关系是什么?23. 移动构造和拷贝构造的区别是什么?24. lamda表达式捕获列表捕获的方式有哪些?如果是引用捕获要注意什么?25. 哈希碰撞的处理方法26. unordered_map的扩容过程27. vector如何判断应该扩容?(size和capacity)28. 构造函数是否能声明为虚函数?为什么?什么情况下为错误?29. 类中static函数是否能声明为虚函数?30. 哪些函数不能被声明为虚函数?31. 如何保证类的对象只能被开辟在堆上?(将构造函数声明为私有、单例)32. 讲讲你理解的虚基类33. C++哪些运算符不能被重载?34. 动态链接和静态链接的区别,动态链接的原理是什么?35. C++中怎么编译C语言代码?答案附在面经中  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
点赞 评论 收藏
分享
2 23 评论
分享
牛客网
牛客企业服务