当前位置 博文首页 > b_ingram的博客:C++常见面试题,来看看你会几个~~

    b_ingram的博客:C++常见面试题,来看看你会几个~~

    作者:[db:作者] 时间:2021-07-19 22:34

    C++常见面试题汇总:

    写在开篇:汇总了一些公司的常见C++面试题~~收藏起来呀!!

    正文开始@Assassin
    

    目录:

    • C++常见面试题汇总:
      • 1. 变量的声明和定义有什么区别:
      • 2. 简述#ifdef,#else,#endif和#ifndef的作用:
      • 3. 写出int,bool,float,指针变量与"零值"比较的if语句:
      • 4. 结构体可以直接赋值吗:
      • 5. sizeof 和 strlen 的区别:
      • 6. C语言的关键字 static 和 C++ 的关键字 static 有什么区别?
      • 7. C语言的malloc和C++中的new有什么区别?
      • 8. 写一个"标准"宏 MIN:
      • 9. ++i和i++的区别:
      • 10. volatile有什么作用:
      • 11. 一个参数可以既是const又是volatile吗?
      • 12. *a和&a有什么区别?
      • 13. 用C编写一个死循环程序:
      • 14. 结构体内存对齐问题:
      • 15. 全局变量和局部变量有什么区别?是怎么实现的?操作系统和编译器是怎么知道的?
      • 16. 简述C/C++程序编译的内存分配情况:
      • 17. 简述strcpy,sprintf与memcpy的区别:
      • 18. 请解析(*(void (\*)( ) )0)( )的含义:
      • 19. C语言的指针和引用和c++的有什么区别?
      • 20. typedef和define有什么区别:
      • 21. 指针常量与常量指针区别:
      • 22. 简述队列和栈的异同:
      • 23. 设置地址为0x67a9的整型变量的值为0xaa66:
      • 24. 编码实现字符串转化为数字:
      • 25. C语言的结构体和C++的有什么区别:
      • 26. 简述指针常量与常量指针的区别:
      • 27. 如何避免"野指针":
      • 28. 句柄和指针的区别和联系是什么?
      • 29. new/delete与malloc/free的区别是什么?
      • 30. 说一说extern"C":
      • 31. 请你来说一下C++中struct和class的区别:
      • 32. C++类内可以定义引用数据成员吗?
      • 33. C++中类成员的访问权限:
      • 34. 什么是右值引用,跟左值又有什么区别?
      • 35. 面向对象的三大特征:
      • 36. 说一说c++中四种cast转换:
      • 37. C++的空类有哪些成员函数?
      • 38. 对c++中的smart pointer四个智能指针:shared_ptr,unique_ptr,weak_ptr,auto_ptr的理解:
      • 39. 说说强制类型转换运算符:
      • 40. 谈谈你对拷贝构造函数和赋值运算符的认识:
      • 41. 在C++中,使用malloc申请的内存能否通过delete释放?使用new申请的内存能否用free?
      • 42. 用C++设计一个不能被继承的类:
      • 43. C++自己实现一个String类:
      • 44. 访问基类的私有虚函数:
      • 45. 对虚函数和多态的理解:
      • 46. 简述类成员函数的重写,重载和隐藏的区别:
      • 47. 链表和数组有什么区别?
      • 48. 用两个栈实现一个队列的功能:
      • 49. vector的底层原理:
      • 50. vector中的reserve和resize的区别:
      • 51. vector中的size和capacity的区别:
      • 52. vector中erase方法与algorithm中的remove方法区别:
      • 53. vector迭代器失效的情况:
      • 54. 正确释放vector的内存(clear(), swap(), shrink_to_fit()):
      • 55. list的底层原理:
      • 56. 什么情况下用vector,什么情况下用list,什么情况下用deque?
      • 57. priority_queue的底层原理:
      • 58. map 、set、multiset、multimap的底层原理:
      • 59. 为何map和set的插入删除效率比其他序列容器高?
      • 60. 为何map和set每次Insert之后,以前保存的iterator不会失效?
      • 61. 当数据元素增多时(从10000到20000),map的set的查找速度会怎样变化?
      • 62. map,set,multiset,multimap的特点:
      • 63. 为何map和set的插入删除效率比其他序列容器高,而且每次insert之后,以前保存的iterator不会失效?
      • 64. 为何map和set不能像vector一样有个reserve函数来预分配数据?
      • 65. set的底层实现实现为什么不用哈希表而使用红黑树?
      • 66. hash_map与map的区别?什么时候用hash_map,什么时候用map?
      • 67. 迭代器失效的问题:
      • 68. STL线程不安全的情况:
      • 写在结尾:
        • see you next blog ~~
    cs
    下一篇:没有了