一句话理解
必须理解:
为什么要学
后面写更大的程序时,常见内存问题 会反复出现。先在小例子里跑通。
讲解
必须理解:
- 内存泄漏
- 野指针
- 悬空指针
- 重复释放
- 越界访问
- Use After Free
- Buffer Overflow
现代 C++ 实际开发应优先:
std::vector
std::string
std::unique_ptr
std::shared_ptr
而不是手动 new/delete。
例子
#include <bits/stdc++.h>
using namespace std;
int main() {
vector<int> a;
a.push_back(3);
a.push_back(5);
cout << a.size() << " " << a[0] << a[1] << "\n";
return 0;
}
输出:
2 35
动手
下面的编辑器就在浏览器里编译运行,不用装本地编译器。改一改数字、再点运行。