定义和声明的区别
Union,Struct,Class 的异同点
深拷贝 vs 浅拷贝
new 和 malloc 的区别
既然有了malloc/free,C++中为什么还需 要new/delete呢?
被free回收的内存是立即返还给操作系统吗?
C++11 新特性:
delete与 delete [] 区别
子类析构时要调用父类的析构函数吗?
为 什么父类析构函数要定义为虚函数?
纯虚函数
静态绑定和动态绑定的介绍
虚函数表、虚函数指针是什么?
虚函数的实现机制(内存分布)
模板的用法与适用场景实现原理
模板和继承的对比
怎么理解多态
实现多态的方式(不用虚函数,如何实现 多态)
继承机制中对象之间是如何转换的?
如何实现只能动态分配类的对象?只能静 态分配呢?
指针和引用的区别
main 函数执行以前,还会执行什么代码?
描述内存分配方式以及它们的区别
分别写出BOOL,int,float,指针类型的变量 a 与“零”的比较语句。
简述数组与指针的区别?
C++求数组元素个数
什么情况下会调用拷贝构造函数
拷贝构造函数的形参不能使用值或 者指针传递
const 有什么用途?
typedef 与 #define 的区别
sizeof 计算的是 对象类型/类型 在栈中分配的内存大小。
sizeof 与 与 strlen 的区别?
内存的分配方式有几种?
全局变量和局部变量有什么区别?是怎么 实现的?
C++中的四种类型转换有哪些?
C++中哪些函数不能声明为inline?
Inline 函数是什么意思?
内联(inline)函数和 #define(宏)
C++异常怎么实现的
智能指针 auto_ptr?(shared_ptr, unique_ptr,weak_ptr)
make_shared与显式通过构造函数初始化 (new)的shared_ptr区别?
智能指针的实现?(share)
野指针产生的原因:
实现 memcpy 需要注意哪些
string的底层实现
string与char*,char[ ]转换
Volatile 关键字作用?
static 关键字的用处
类的隐形类型转换,隐式转换的危害
explicit 是干什么用的?
memset可以初始化类吗?
C++ 里面能够在栈里申请内存吗
malloc 是怎么在堆里分配内存的
auto 关键字的注意点
auto 与decltype区别
C++ 类的实例方法中能否写 delete this
从堆和栈上建立对象哪个快?
内存泄漏的排查
类中 static 修饰的函数是什么时候分配内 存的。
C++ 面向对象 三大 特性
模板特化的概念是什么?为什么要特化?
死锁产生原因,解决方法
构造函数可否是虚函数,为什么?析构函 数呢,可否是纯虚的呢?
public 、protected 、private 继承?
类的私有继承是 is 还是 has ,公有继承 呢?
成员初始化列表的概念,为什么用成员初 始化列表会快一些(性能优势)?
必须在类的构造函数初始化列表里进行初 始化的数据成员有哪些?
左值引用和右值引用
右值的完美转发与转移语义
为什么C++的右值引用&&传参时会看做左值呢?
空类的大小
类的成员函数为什么不占用类的大小
介绍C++所有的构造函数
私有虚函数还可以实现多态吗?
模板类的继承包括四种
Linux里面发生core dump(核心转储) 错误
友元函数和友元类
C++ 三/五原则
模板函数与多态继承、动态绑定
shared_ptr的优缺点(智能指针、共享指针)
共享指针(智能指针)线程安全问题
各个容器优缺点
vector 的 的 resize 和 和 reserve 操作的 区别
STL中vector的实现
unordered_map 和 map 的实现机制, 性能差异
Unordered_map底层实现,桶,链地址,红黑树
vector调用push_back()对性能的影响和 原因。
C++中vector的push_back和 emplace_back的区别
STL的容器线程不安全怎么解决
STL 中排序算法 sort 的实现是什么
list的sort是成员函数
为什么不直接用堆排序实现sort?
vector/list/deque 的区别与联系
Stack 和 和 queue 不用 vector 实现的原因:
为何关联容器的插入效率一般比序列容器高
为什么 vector 的插入操作可能会导致迭代器失效?
set/map 的区别与联系
set,map和vector的插入复杂度
不允许有遍历行为的容器有哪些
哈希函数的构造法方法
解决哈希冲突的方法。