170 похожих чатов

Int main() { int arr[] = {1, 2, 3,

4, 5};
for (size_t i = 0; i < std::size(arr); ++i) {
std::cout << arr[i] << (i != std::size(arr) - 1 ? ", " : "");
}
return 0;
}

21 ответов

22 просмотра

Фи, лишнее условие на каждую итерацию

На i с нулем удобнее сравнивать

Vladimir- Автор вопроса
Liber Azerate
Фи, лишнее условие на каждую итерацию

Надеюсь дожить до момента, когда при измерении выяснится, что программа тормозит именно из-за этого

Vladimir- Автор вопроса
Vladimir- Автор вопроса
Liber Azerate
Фи, лишнее условие на каждую итерацию

Я кстати не уверен а нету ли где-то в глубине ваших оберток точно такого же условия

Vladimir
Не очень понял тебя

i != std::size(arr) - 1 - более громоздко нежели (i ? "," : "")

Vladimir- Автор вопроса
Anatoly Shirokov
i != std::size(arr) - 1 - более громоздко нежели (...

Не понял, я же таким образом хочу найти последний элемент, а не первый, как мне поможет сравнение с 0?

Vladimir
Не понял, я же таким образом хочу найти последний ...

for(...) { если не первый элемент, вывести запятую вывести элемент }

Anatoly Shirokov
for(...) { если не первый элемент, вывести за...

Так а зачем? Тогда неправильно отображаться будет

Vladimir- Автор вопроса
Anatoly Shirokov
for(...) { если не первый элемент, вывести за...

Суть в том, чтобы для последнего элемента не вывести ", " в конце

Liber Azerate
Так а зачем? Тогда неправильно отображаться будет

что за хрень, ребят? for(size_t i = 0; i < n; ++i) { if(i) std::cout << ", "; std::cout << a[i]; }

Vladimir- Автор вопроса
Anatoly Shirokov
что за хрень, ребят? for(size_t i = 0; i < n; ++i)...

Или можно вообще без ифов, чтобы в них точно никто не запутался: std::string delimiter; for(auto& e: a) { std::cout << delimiter << e; delimiter = ", "; }

Ofee Oficsu
Или можно вообще без ифов, чтобы в них точно никто...

И приз на самое элегантное решение выигрывает Офи

Liber Azerate
И приз на самое элегантное решение выигрывает Офи

Вообще, оно не моё, точно у кого-то видел, вероятнее всего у @h4cktill

Ofee Oficsu
Или можно вообще без ифов, чтобы в них точно никто...

а оно cоптимизируется, или будет каждый раз присваивание вызывать?

anton
а оно cоптимизируется, или будет каждый раз присва...

Будет, конечно. Другое дело, что без бенчмарков я не возьмусь угадывать, что будет быстрее – сравнить или присвоить

Vladimir- Автор вопроса

Похожие вопросы

Обсуждают сегодня

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта