#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector< vector<int> > dp(50000, vector<int>(4, -1));
cout << dp.size();
}
Questo piccolo programma impiega una frazione di secondo per essere eseguito quando viene eseguito semplicemente dalla riga di comando. Ma quando viene eseguito in un debugger, ci vogliono più di 8 secondi. La sospensione del debugger rivela che è nel mezzo di distruggere tutti quei vettori. WTF?Comportamento strano dei distruttori C++
Nota: Visual Studio 2008 SP1, CPU Core 2 Duo 6700 con 2 GB di RAM.
Aggiunto: Per chiarire, no, non sto confondendo le versioni di debug e release. Questi risultati sono su uno stesso file .exe, senza alcuna ricompilazione tra di essi. In effetti, il passaggio tra le build di Debug e Release non cambia nulla.
Sei sicuro che non stai confrontando il debug vs release si basa? –