Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
sergio1
12 / 1 / 1
Регистрация: 08.11.2008
Сообщений: 41
#1

Утечки памяти и STL - C++

04.09.2010, 20:12. Просмотров 939. Ответов 2
Метки нет (Все метки)

Имеется код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <map> 
 
#define _CRTDBG_MAP_ALLOC 
 #include <stdlib.h> 
 #include <crtdbg.h>    
 
using namespace std;   
int main() 
{ 
  map<int, int> m; 
  _CrtDumpMemoryLeaks();
}
Короче говоря код собственно ничего и не делает, но _CrtDumpMemoryLeaks() сообщает что имеются утечки памяти. Вопрос: это _CrtDumpMemoryLeaks() такой злой и всех не любит или STL недодоеланый(мало верится), а может просто опции какие-то у меня стоят неправильные? Спасайте, а то любая програмка круче ХеллоВорлда сообщает об ужасном количестве утечек памяти (
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.09.2010, 20:12     Утечки памяти и STL
Посмотрите здесь:

C++ Map STL - максимальный объем памяти
подскажите пожалуйста, правильно ли сделанна конструкция, и не будет ли утечки памяти C++
Утечки памяти C++
Про утечки памяти C++
C++ утечки памяти - просто жесть
Я создаю утечки памяти ! C++
Не будет ли утечки памяти? C++
C++ Утечки памяти при использовании new/delete для двумерных массивов
Определение утечки памяти C++
STL, deque Перераспределение памяти C++
C++ Объяснить причины и способы устранения утечки памяти в деструкторе
Поиск утечки памяти C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alexzak
84 / 57 / 1
Регистрация: 07.08.2010
Сообщений: 185
04.09.2010, 20:27     Утечки памяти и STL #2
map еще не удалился, когда ты вызываешь CrtDumpMemoryLeaks. Попробуй так:
C++
1
2
3
4
5
6
7
8
9
void foo()
{
  map<int, int> m; 
}
int main() 
{
  foo(); 
  _CrtDumpMemoryLeaks();
}
sergio1
12 / 1 / 1
Регистрация: 08.11.2008
Сообщений: 41
04.09.2010, 20:30  [ТС]     Утечки памяти и STL #3
А, теперь ясно. Спасибо. Кстати можно и так:

C++
1
2
3
4
5
6
7
int main()
{
  {
     map<int, int> m;
  }
  _CrtDumpMemoryLeaks();
}
 Комментарий модератора 
Используйте соответствующие теги форматирования кода.
Yandex
Объявления
04.09.2010, 20:30     Утечки памяти и STL
Ответ Создать тему
Опции темы

Текущее время: 12:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru