[Work] C++ 面试问题整理

C++的内存管理

程序员应如何理解内存:上篇 (qq.com)

malloc和new的区别

(24条消息) 动态内存分配、malloc与new的区别_Demons的博客-CSDN博客_malloc和new的区别

细说new与malloc的10点区别 - melonstreet - 博客园 (cnblogs.com)

确定类大小

(24条消息) 如何计算C++类占用内存大小_3D Matrix-CSDN博客

内存对齐

C/C++内存对齐详解 - 知乎 (zhihu.com)

指针和引用

C++ 中指针和引用的区别 | 菜鸟教程 (runoob.com)

(27 封私信 / 80 条消息) c++中,引用和指针的区别是什么? - 知乎 (zhihu.com)

static

C/C++ 中 static 的用法全局变量与局部变量 | 菜鸟教程 (runoob.com)

(24条消息) c++中static的作用_ypshowm的博客-CSDN博客_c++ static

智能指针

C++11 智能指针 - 简书 (jianshu.com)

STL-Vector实现原理

C++ vector实现原理 - 我是团长 - 博客园 (cnblogs.com)

面向对象

C 面向对象的三个基本特征 (360doc.com)

强制类型转换

C++ 四种强制类型转换 - 静悟生慧 - 博客园 (cnblogs.com)

拷贝构造函数 vs 赋值运算符

拷贝构造函数和赋值运算符的行为比较相似,都是将一个对象的值复制给另一个对象,但是其结果却有些不同,拷贝构造函数使用传入对象的值生成一个新的对象的实例,而赋值运算符是将对象的值复制给一个已经存在的实例。这种区别从两者的名字也能轻易的分辨出来,拷贝构造函数也是一种构造函数,那么它的功能就是创建一个新的对象实例;赋值运算符是执行某种运算,将一个对象的值复制给另一个对象(已经存在的)。调用的是拷贝构造函数还是赋值运算符,主要是看是否有新的对象实例产生,如果产生了新的对象实例,那调用的就是拷贝构造函数;如果没有,那就是对已有的对象赋值,调用的是赋值运算符。

C++ 拷贝构造函数和赋值运算符 - evilsnake - 博客园 (cnblogs.com)

动态数组

C 语言动态数组 | 菜鸟教程 (runoob.com)

多态

C++ 一篇搞懂多态的实现原理 - 知乎 (zhihu.com)

(24条消息) C++ 虚函数表解析_陈皓专栏 【空谷幽兰,心如皓月】-CSDN博客_虚函数表

C++虚函数表剖析 | Leo的博客 (leehao.me)