![]() |
Проблема с указателями
Доброго времени суток, Булчане! :)
Мне просто по-зарез нужна ваша помощь. Конечно, для гуру мой вопрос покажется банальным (наверно), но я не могу его решить. Вообщем вот что имею: Классы cGeom и cGeomManager содержащий функцию и вектор: Код:
class cGeom Код:
cGeomManager* geom = new cGeomManager; Уже прочитал все ссылки в гугле по вопросам указателей - ответа не нашёл. Потому прошу помощи у знающих. И не пинайте за говнокод, пожалуйста :-) зыЖ пробовал делать массив указателей в классе cGeomManager (ну т.е. vector<cGeom*>), но становилось ещё хуже, потому что я банально не понимаю как тогда по этому массиву пробежаться в цикле. |
Ответ: Проблема с указателями
push_back() приводит к переаллокации вектора, твои указатели после этого ссылаются на мусор в памяти.
Код:
- vector<cGeom> geoms; |
Ответ: Проблема с указателями
Просто наиогромнейшее спасибо тебе! Про переаллокацию усвоил.
и с циклом всё просто оказалось, а я голову ломал: Код:
for (vector<cGeom*>::iterator i = this->geoms.begin(); i != this->geoms.end(); i++) |
Ответ: Проблема с указателями
Цитата:
Код:
for ( auto ptr : geoms ) { |
Часовой пояс GMT +4, время: 16:01. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot