Здравствуйте, emergen, Вы писали:
E>Каким механизмом это делается в С++ — STL?
Имей совесть, открываешь документацию vector читаешь какие методы, находишь, да даже intellisenc-a должно было хватить чтобы понять какой метод вызвать.
Re[2]: Динамически добавить элемент объекта в std::vector
Здравствуйте, emergen, Вы писали:
E>Подскажите, пожалуйста, как наиболее просто, добавить указатель на созданный динамически объект в контейнер std::vector?
Книга — лучший подарок.
Хотя, возможно, — в отдалённой перспективе, разумеется, строго после книги, — здесь пригодился бы boost::ptr_vector.
Потому что ведь встанут вопросы: а какое время жизни у объектов, добавленных по указателю. А как их гарантированно поубивать. А как оперировать значениями, а не указателями (например, при сортировке или в циклах). И т.п.
{
std::vector<Obj*> v;
v.push_back(new Obj(0));
v.push_back(new Obj(1));
v.push_back(new Obj(2));
std::copy(v.begin(), v.end(), std::ostream_iterator<Obj*>(std::cout, " ")); // выведет кучу адресов
} // убъёт вектор, оставит объекты висеть в памяти
{
boost::ptr_vector<Obj> v; // поправка. в параметре шаблона указатель не нужен.
v.push_back(new Obj(0));
v.push_back(new Obj(1));
v.push_back(new Obj(2));
std::copy(v.begin(), v.end(), std::ostream_iterator<Obj&>(std::cout, " ")); // выведет содержимое объектов (если есть оператор ostream<<Obj)
} // убъёт вектор и объекты
Но ты должен понимать, что в векторе лежат указатели, а не сами объекты, и убивать ты их должен будешь сам.
Если ты хочешь, чтобы вектор их убил автоматически, когда сам будет умирать — используй не голый указатель, а unique_ptr или smart_ptr:
РАДИ БОГА, В КРАЙНЕМ СЛУЧАЕ ПРОСТО ПОЛИСТАЙ И ПОСМОТРИ ПРИМЕРЫ!!!
Да чего вы к парню то пристали... Он же просто читать не умеет. А так ответ пришел, выделили, копи-пастим это дело в какой-нить гугле-траснсляторо и тама щелкаем кнопачку "Воспроизвести". И все чики-поки... А вы тут академики, начали, блин, "почитай, полистай"... "Книжки" еще какие-то придумали. Динозавры одно слово.
Cовет топик-стартеру. Так вопросы не пишут. Тут на КЫВТ есть мануал как задавать вопросы. Но есть одно потаённое правило, которое там не описано (еще б! Серебренная ж пуля — зато как стреляет ).
Напишите примерно так
"Я студенткА, не смогла разобраться, помогите, а то я совсем запуталась". И побольше прошедшего времени, там обязательно разнятся окончания глаголов для подлежащего мужского и женского рода. Казалось, бы сплошное равноправие тире эмансипация. Ан фиг! Попробуйте и увидите результат.
PS: товарищи админы не баньте меня пожалуйста, но к вечеру истерика от наблюдения дискуссии по поводу дважды два потребовала выхода. Я правда больше не буду. Долго не буду.
Здравствуйте, Кодт, Вы писали:
К>Здравствуйте, jazzer, Вы писали:
J>>Я не рискнул в твоем присутствии придираться к орфографии
К>А я не придирался, а намекнул
Ну не все модераторы так толерантны , я за такой же намёк заработал
первый раз за 13 лет на RSDN сподобился вот ... градус растёт