C++全家桶 C++基础 1. C和C++有什么区别? 2. C语言的结构体和C++的有什么区别? 3. C 语言的关键字 static 和 C++ 的关键字 static 有什么区别? 4. C++ 和 Java有什么核心区别? 5. C++中,a和&a有什么区别? 6. C++中,static关键字有什么作用? 7. C++中,#define和const有什么区别? 8. 静态链接和动态链接有什么区别? 9. 变量的声明和定义有什么区别? 10. typedef 和define 有什么区别? 11. final和override关键字 12. 宏定义和函数有何区别? 13. sizeof 和strlen 的区别 14. 简述strcpy、sprintf 与memcpy 的区别 15. 结构体可以直接赋值吗 16. volatile有什么作用 17. 一个参数可以既是const又是volatile吗 18. 全局变量和局部变量有什么区别?操作系统和编译器是怎么知道的? 19. 什么是C++中的指针和引用?它们有什么区别? 20. 数组名和指针(这里为指向数组首元素的指针)区别? 21. 一个指针占用多少字节? 22. 什么是智能指针?智能指针有什么作用?分为哪几种?各自有什么样的特点? 23. shared_ptr是如何实现的? 24. 右值引用有什么作用? 25. 悬挂指针与野指针有什么区别? 26. 指针常量与常量指针区别 27. 如何避免“野指针” 28. 句柄和指针的区别和联系是什么? 29. 说一说extern“C” 30. 对c++中的smart pointer四个智能指针:shared_ptr,unique_ptr,weak_ptr,auto_ptr的理解 C++ STL 1. 请解释vector容器和它的特点。 2. vector如何保证元素的连续存储? 3. 当vector空间不足时,如何扩容? 4. vector的push_back和emplace_back有什么区别? 5. 使用vector需要注意哪些问题? 6. Vector有哪些应用场景? 7. list和vector有什么区别? 8. 为什么list没有push_front(&aff=25852)函数? 9. list如何实现元素的插入和删除? 10. map底层是如何实现的? 11. set 的底层是如何实现的? 12. map、set、multimap、multiset有什么区别? 13. 如何在map和set中查找元素? 14. unordered_map和map有什么区别? 15. 什么是迭代器,它有什么作用? 16. 五种迭代器类型分别是什么? 17. 什么是迭代器的失效? 18. 介绍一下STL中的算法库。 19. ind(&aff=25852)和binary_search(&aff=25852)有什么区别? 20. sort(&aff=25852)函数的实现原理是什么? 21. lower_bound(&aff=25852)和upper_bound(&aff=25852)有什么用处? 22. STL中的allocator有什么作用? 23. 什么是RAII原则,它在STL中如何应用? 24. 什么是智能指针,它有什么作用? 25. unique_ptr、shared_ptr和weak_ptr有什么区别? 26. 在什么情况下会选择使用智能指针? 27. 什么是adapter容器? 28. stack和queue底层是如何实现的? 29. priority_queue有什么应用场景? 30. string和stringstream有什么区别? 31. 如何使用stringstream进行字符串的格式化输出? 32. STL容器是线程安全的吗? 33. 如何在多线程环境下安全地使用STL? 34. 什么是泛型编程,它在STL中如何应用? 35. 函数对象和lambda表达式在STL中有什么作用? 36. 你如何选择合适的STL容器? 37. STL中的异常安全是什么,为什么重要? 38. C++11对STL有哪些改进? 39. 解释一下STL中的allocator-aware容器。 40. 如何自定义STL容器的比较函数? 41. 说一下你对STL中erase函数返回值的理解。 42. 描述一下你在使用STL过程中遇到的最大的挑战。 43. vector和array的使用场景分别是什么?