Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.03.2016, 12:44   #1
gunsoy
Форумчанин
 
Регистрация: 30.12.2010
Сообщений: 280
Вопрос Утечка памяти valgrind

Здравствуйте.

Борюсь с утечками памяти с помощью valgrind. Вот он мне показывает место утечки

Код:
==7457== 40 bytes in 1 blocks are possibly lost in loss record 336 of 529
==7457==    at 0x402A6DC: operator new(unsigned int) (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==7457==    by 0x461D213: std::string::_Rep::_S_create(unsigned int, unsigned int, std::allocator<char> const&) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.19)
==7457==    by 0x44C1E85: char* std::string::_S_construct<char const*>(char const*, char const*, std::allocator<char> const&, std::forward_iterator_tag) (in /usr/lib/i386-linux-gnu/libboost_regex.so.1.54.0)
==7457==    by 0x461F7AF: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.19)
==7457==    by 0x813ACDE: Map::Map() (Map.cpp:162)
==7457==    by 0x80779D3: Execute::Execute() (CrossWindow.cpp:79)
==7457==    by 0x820A985: AuthorizationWindow::AuthorizationWindow() (in /home/vadim/server/SDL2_3/bin/Debug/SDL2_3)
==7457==    by 0x820A8BD: main (texture.cpp:11)
В файле Map.cpp на стороке 162 я добавляю элемент в векторный массив строк

PersTexture.push_back("textures/pers31face_big.jpg");

PersTexture - является приватным членом класса

private:
std::vector<std::string> PersTexture;

Не понимаю где тут утечка памяти. Помогите пожалуйста разобраться.
gunsoy вне форума Ответить с цитированием
Старый 08.03.2016, 18:55   #2
Croessmah
Вредный кошак
Участник клуба
 
Аватар для Croessmah
 
Регистрация: 14.10.2012
Сообщений: 1,159
По умолчанию

Неизвестно что у Вас там написано.
Croessmah вне форума Ответить с цитированием
Старый 09.03.2016, 04:06   #3
gunsoy
Форумчанин
 
Регистрация: 30.12.2010
Сообщений: 280
По умолчанию

У меня в конструкторе класса идет заполнение векторного массива строками

Код:
PersTexture.push_back("textures/pers1face_big.jpg");
PersTexture.push_back("textures/pers2face_big.jpg");
........
PersTexture.push_back("textures/pers35face_big.jpg");
И на каждое добавление элемента valgrind жалуется. Что-то не так со строкой судя по сообщениям valgrind-а приведенным в #1 посте. Всегда думал что STL помогает избежать утечек памяти, а тут такое.
gunsoy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Утечка памяти. Gdasar C++ Builder 15 09.02.2016 08:56
valgrind для поиска утечек памяти gunsoy Общие вопросы C/C++ 0 31.05.2014 08:12
Утечка памяти :( batnik.com C++ Builder 1 09.05.2013 18:09
утечка памяти Кудаив Помощь студентам 1 30.04.2012 18:18
утечка памяти в С++ vengo Общие вопросы C/C++ 9 10.06.2008 21:24