new和malloc §
-
new从自由存储区分配内存空间
malloc从堆上分配内存空间
-
new返回对象类型指针
malloc返回void *, 需要强制转化
-
new内存分配失败抛出bac_alloc异常, 不会返回NULL
malloc失败时返回NULL
-
malloc需要显示指定类型大小malloc(sizeof(int))
-
构造/析构函数
- new操作符
- 调用operator new函数, 分配一块足够大的,原始的,未命名的内存空间以便存储特定类型的对象
- 构造对象, 传入初值
- 返回对象指针
- delete操作符
- 析构函数
- operator delete
-
数组
- new:
A * ptr = new A[10];
- malloc:
int * ptr = (int *) malloc(sizeof(int)* 10);
-
operator new的实现可以基于malloc
-
opeartor new /operator delete可以被重载
new和delete §
智能指针 §
lambda §
数据结构 §
https://marian5211.github.io/2018/03/09/B%E6%A0%91%E3%80%81B-%E6%A0%91%E3%80%81AVL%E6%A0%91%E3%80%81Trie%E6%A0%91%E5%8F%8A%E5%85%B6%E5%BA%94%E7%94%A8%E5%9C%BA%E6%99%AF/
map, set
11 & 14 & 17 新特性 §
11 §
- auto
奇怪的笔试题~ §
-
sizeof(class)