Флейм
GameDev.ru / Флейм / Форум / C++03 - удалить из вектора целых элементы меньше 10 (2 стр)

C++03 - удалить из вектора целых элементы меньше 10 (2 стр)

Поделиться
Страницы: 1 2 3 415 Следующая »
Panzerschrek[CN]Участникwww4 дек. 201712:47#15
entryway
> arr.filter(v=>v>9)
Говно. Контейнер не должен содержать подобных методов.

Suslik
Твой код не сильно проще читать, но только вот его рисать дольше, да к тому же он с багами.

SuslikМодераторwww4 дек. 201712:48#16
kipar
  size_t new_size = 0;
  for(size_t i = 0; i < vec.size(); i++)
  {
    if(vec[i] >= 10)
      vec[new_size++] = vec[i];
  }
  vec.resize(new_size);

Panzerschrek[CN]
> Твой код не сильно проще читать
ничего страшного. практикуй программирование, со временем нормально написанный код воспринимается гораздо быстрее мешанины символов. а лишние 10 секунд, которые я потратил на его написание, с запасом окупятся экономией 2 секунд с каждого из сотни людей, которые будут его читать.

Правка: 4 дек. 2017 13:12

The PlayerУчастникwww4 дек. 201713:03#17
Suslik
> i++
Ну ты вапще.
ZegalurПостоялецwww4 дек. 201713:07#18
+ J
MAMOHT-92Постоялецwww4 дек. 201713:13#19
читая тему, все сильнее понимаю, что кресты - это как Ленин в мавзолее, раньше был когда-то очень великими и могучим, но сейчас лучше предать его земле, а не глазеть на его формалиновый труп и тем более не трогать его, даже палкой и издалека.
return [](){};Участникwww4 дек. 201713:16#20
http://rextester.com/MTI9820
Inplace версия, конечно, получилась не такой красивой, как хотелось бы.
ud1Постоялецwww4 дек. 201713:23#21
MAMOHT-92
Мамонт рассуждает о Ленине. И кто из вас больший труп? Смешно.
FordPerfectПостоялецwww4 дек. 201714:31#22
=A=L=X=
Ну дезинформация же. std::bind и std::placeholders::_1 - это не
> C++03
и народ ведётся.
=A=L=X=Постоялецwww4 дек. 201714:38#23
FordPerfect
Вот так рождаются легенды.
Точно, этож boost::bind. Так это выходит на чистом ++03 только на stl нет пути кроме как функтор руками описывать?
ZefickПостоялецwww4 дек. 201715:26#24
Suslik
> а лишние 10 секунд, которые я потратил на его написание, с запасом окупятся
> экономией 2 секунд с каждого из сотни людей, которые будут его читать.
  Не окупятся. Теперь каждый, кто читает этот код должен потратить больше времени на то, чтобы понять, что он делает, чем тот, кто его писал. Так что мне кажется, что автор сих строк далёк от написания кода, который регулярно смотрит сотня людей, иначе ему бы давно сообщили что он не прав. Единственное исключение, которое я знаю, это Линус Торвальдс, который может смело послать любого и сказать, что он дебил, если не понимает, что использование сырых указателей на нуль-терминированные строки лучше, чем использование готовой протестированной библиотеки. Но  думаю не стоит говорить, что его никогда не позовут ни в один нормальный проект.

MAMOHT-92
> что кресты - это как Ленин в мавзолее, раньше был когда-то очень великими и
> могучим, но сейчас лучше предать его земле, а не глазеть на его формалиновый
> труп и тем более не трогать его, даже палкой и издалека.

+ Кстати о мавзолее:

return [](){};
  Вроде же можно писать так:

arr.filter!("a>9").array;
SuslikМодераторwww4 дек. 201715:38#25
Zefick
> + Кстати о мавзолее:
лол, выдержка кода из девелопмент кита любимого зефиком языка, написанного, разумеется, на вражеском ненавистном ему языке.

> Не окупятся. Теперь каждый, кто читает этот код должен потратить больше времени на то, чтобы понять, что он делает, чем тот, кто его писал.
не, я программистов имел в виду, а не тебя

desssПостоялецwww4 дек. 201715:42#26
Suslik
size_t size = 0;
for (auto x : vec) {
    if (x >= 10) {
        vec[size++] = x;
    }
}
vec.resize(size);
Или типа С++03 именно?

Rust:

vec.retain(|&x| x >= 10);

Правка: 4 дек. 2017 15:45

return [](){};Участникwww4 дек. 201715:43#27
Zefick
> Вроде же можно писать так:
Да и похрен, лучше придумай как inplace версию красивее написать.

Правка: 4 дек. 2017 15:44

Sbtrn. DevilЗабаненwww4 дек. 201715:47#28
std::vector<T> result;
for (unsigned u = 0; u < arr.size (); u++)
  if (arr[u] >= 10) result.push_back (arr[u]);
1 frag / 2 deathsУчастникwww4 дек. 201715:57#29
Sbtrn. Devil
+
Страницы: 1 2 3 415 Следующая »

/ Форум / Флейм / Программирование

2001—2017 © GameDev.ru — Разработка игр