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

stl и полиморфизм - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Фрагмент "авс" http://www.cyberforum.ru/cpp-beginners/thread432399.html
Здравствуйте! Проверьте мою программу, где ошибка, и напишите мне под этим кодом, пожалуйста. Заранее спасибо вам! Написать программу, которая записывать строку во внешний файл и выводит на печать...
C++ Мьютекс, не могу понять, сигналирован или нет Разработать программу, состоящую из двух потоков, работающих с общими данными, первый поток вводит с клавиатуры N целых чисел (число N также вводится пользователем), второй печатает их на экран по... http://www.cyberforum.ru/cpp-beginners/thread432395.html
В чем ошибка C++
#include <iostream> #include <string> using namespace std; int main() { string n = "Jon" string name; cin >> name; if (n == name) cout << "Строки равны" << endl;
Дана последовательность чисел a1, a2, ..., an. Указать наименьшую длину числовой оси, содержащую все эти числа C++
Помогите решить. Дана последовательность чисел a1, a2, ..., an. Указать наименьшую длину числовой оси, содержащую все эти числа
C++ MSVCP100D.dll http://www.cyberforum.ru/cpp-beginners/thread432366.html
Почему вылазит эта ошибка на компьютере где нет MS VS, когда я запускаю .exe файл откомпелированной проги? Добавлено через 2 минуты Сори. уже нашёл. Надо положить этот же файл в каталог, где и...
C++ Генератор чисел Здравствуйте. пишу вот такую программу. Генерирует случайные числа. Но каждый раз исключая повторы. помогите. не пойму в чём дело. выводить постоянно повторы! #include "StdAfx.h" #include "conio.h"... подробнее

Показать сообщение отдельно
DU
1483 / 1059 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
21.01.2012, 16:40
ну это кривоватый способ удаления. итератор после ерейза становится невалидным.
есть более кошерный с алгоритмами. если есть возможность заюзать лябды нового стандарта или бинды из буста или тр1, то все это можно организовать без ф-ии IsDead

C++
1
2
3
4
5
6
7
8
9
10
11
12
bool IsDead(const CEnimy& enimy)
{
  return !enimy.alive;
}
 
// вот после этого в листе не останется ни одного объката, для которого ф-ия IsDead
// вернет true.
enimyList.erase(std::remove_if(enimyList.begin(), enimyList.end(), &IsDead), enimyList.end());
 
// ну и дальше уже манипулировать только живыми объектами. Мешать в одном цикле
// удаление и вызовы прочих методов как-то не хорошо, даже несмотря на то,
// что в этом случае экономится один проход по контейнеру.
Еще иерархия какая-то кривая. Почему бы в базовый класс не поместить методы Draw и Update. Ведь они имеют смысл для всех объектов.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru