相关疑难解决方法(0)

C++析构函数的奇怪行为

#include <iostream>
#include <vector>
using namespace std;

int main()
{
    vector< vector<int> > dp(50000, vector<int>(4, -1));
    cout << dp.size();
}
Run Code Online (Sandbox Code Playgroud)

只需从命令行运行,这个小程序只需要一秒钟即可执行.但是在调试器中运行时,需要8秒钟.暂停调试器会发现它正在摧毁所有这些向量.WTF?

注 - Visual Studio 2008 SP1,Core 2 Duo 6700 CPU,带2GB RAM.

补充:澄清一下,不,我不会混淆Debug和Release版本.这些结果是在同一个.exe上,甚至没有任何重新编译.事实上,在Debug和Release版本之间切换没有任何改变.

c++ debugging destructor visual-studio-2008

5
推荐指数
1
解决办法
2802
查看次数

标签 统计

c++ ×1

debugging ×1

destructor ×1

visual-studio-2008 ×1