本篇根据各个公司的面试问的常见问题进行总结。
公众号回复“面试”,获取pdf答案
#ifdef、#else、#endif
和#ifndef
的作用int 、bool、 float
、指针变量与 “零值”比较的if
语句sizeof
和strlen
的区别static
和 C++ 的关键字static
有什么区别malloc
和 C++ 中的new
有什么区别++i
和i++
的区别volatile
有什么作用const
又是volatile
吗a
和&a
有什么区别strcpy、sprintf
与memcpy
的区别(*(void (*)( ) )0)( )
的含义typedef
和define
有什么区别0x67a9
的整型变量的值为0xaa66
new/delete
与malloc/free
的区别是什么extern“C”
struct
和class
的区别cast
转换smart pointer
四个智能指针:shared_ptr,unique_ptr,weak_ptr,auto_ptr
的理解malloc
申请的内存能否通过delete
释放?使用new
申请的内存能否用free
?String
类vector
的底层原理vector
中的reserve
和resize
的区别中的
size和
capacity的区别中
erase方法与
algorithn中的
remove`方法区别vector
迭代器失效的情况vector
的内存(clear(), swap(), shrink_to_fit())
list
的底层原理vector
,什么情况下用list
,什么情况下用 dequepriority_queue
的底层原理map 、set、multiset、multimap
的底层原理map
和set
的插入删除效率比其他序列容器高map
和set
每次Insert
之后,以前保存的iterator
不会失效?map
的set
的查找速度会怎样变化?map 、set、multiset、multimap
的特点map
和set
的插入删除效率比其他序列容器高,而且每次insert
之后,以前保存的iter
map
和set
不能像vector
一样有个reserve
函数来预分配数据?set
的底层实现实现为什么不用哈希表而使用红黑树?hash_map
与map
的区别?什么时候用hash_map
,什么时候用map
?STL
线程不安全的情况公众号回复“面试”,获取pdf答案
点【在看】是最大的支持