Есть такой вот кусочек кода: unsigned int i; for(i=0;i<v.size();i++) { packet.header.push_back(v[i]); } Где: vector<char*> v; struct Packet { vector<string> header; string data; }; Т.е задача этого куска кода загнать строки в string`s и с чистой совестью освободить память, на которую указывают указатели из v. Valgrind же на такое дело говорит: ==11813== 58 bytes in 3 blocks are possibly lost in loss record 3 of 4 ==11813== at 0x402377E: operator new(unsigned) (vg_replace_malloc.c:224) ==11813== by 0x40D5BB3: std::string::_Rep::_S_create(unsigned, unsigned, std::allocator<char> const&) (in /usr/lib/libstdc++.so.6.0.10) ==11813== by 0x40D6814: (within /usr/lib/libstdc++.so.6.0.10) ==11813== by 0x40D6985: std::string::string(char const*, std::allocator<char> const&) (in /usr/lib/libstdc++.so.6.0.10) ==11813== by 0x80505D8: Client::readPacket() (client.cpp:296) ==11813== by 0x8050CD4: Client::processClient(short, Client*) (client.cpp:448) ==11813== by 0x806533E: main (s_fight.cpp:317) Варианты типа packet.header.push_back(string(v[i])); или с временной переменной, которая уже загонется в вектор дают такие же ошибки... Я где-то туплю. Подскажете где?
Ответ на:
комментарий
от Stahl
Ответ на:
комментарий
от Deleted
Ответ на:
комментарий
от Stahl
Ответ на:
комментарий
от Stahl
Ответ на:
комментарий
от Reset
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум segfault после new (2017)
- Форум Программисты, помогите (boost,xerces-c,mysql++) (2011)
- Форум STL и аллокация памяти, Linux 2.4.22, g++ 3.2.2 (2004)
- Форум как корректно прочитать boost::asio::streambuf? (2024)
- Форум Передача в функцию тяжёлого temporary (2016)
- Форум «undefined reference to» при сборке mysql-5.6 (2012)
- Форум Можно ли подружить glubuild2dmipmaps и qt? (2022)
- Форум Debug_new, dmalloc не получается собрать. (2012)
- Форум Проблемы с кросскомпиляцией GCC под MIPS (2024)
- Форум boost::asio segmentation fault (2016)