На самом деле, если следующий код не течет:
{
std::map<int, int> some_map;
}
Следующий код также не должен пропускать :
{
std::map<int, int>* some_map = new std::map<int, int>();
/* some instructions that do not throw or exit the function */
delete some_map;
}
Это применимо к любому типу, который вы используете с new
, если тип хорошо написан. И std::map
, вероятно, очень хорошо написано.
Я предлагаю вам использовать valgrind
, чтобы проверить наличие утечек. Я очень сомневаюсь, что то, что вы наблюдали, было реальной утечкой.