以下代码导致内存泄漏。有谁知道为什么?
(我正在运行代码,然后查看Windows任务管理器/进程选项卡/内存列,看看它是否正常运行。我正在使用GCC编译器。)
#include<vector>
using namespace std;
vector<int> f() {
vector<int> v;
int ctr = 8;
while(ctr--) v.push_back(ctr);
return v;
}
void g(vector<int> v = {}) { // strangely enough, no leaks if defined
v = f(); // like void g(vector<int> v = vector<int>{})
}
int main() {
int ctr = 999999;
while(ctr--) g();
}