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

Блин, а почему? Разве тернарный оператор с return'ом не эквивалентен

чему-то такому:
int * tmp;
if (0 <= index && index < m_size)
{
tmp = (data + index);
}
else {
tmp = nullptr;
}
return tmp;
(в таком случае 36)

5 ответов

6 просмотров

Это на указатели. А про некомпактность речь была о ссылке. Я сделал через исключение, не знаю насколько вырвиглазно: int& operator[](size_t index) { if (index < m_size) return data[index]; else throw std::out_of_range("bad index"); }

что 36 ?

Приведи два фрагмента кода, тогда можно будет сказать о эквивалентности

Вообще, IF ...ELSE и ? : не совсем могут быть эквивалентны, первый тупо управление потоком вычислений, второй -- условное вычисление выражений.

Тернарный оператор был введен в С из-за удобства работы с байтами на низком уровне - там он позволяет сэкономить место, и не особо влияет на читаемость кода (код на низвом уровне все одно не читаем). Я не очень понимаю зачем нужен тернарный оператор в высокоуровнем программирвоании.

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

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

Типа вызывать GetParent и проверять на соответствие GetModuleHandle?
The Bird of Hermes
67
Do any of you guys have interesting projects one could join? I'm a Middle Full-Stack developer (JS/TS, React & Node)
Lev Shapiro
40
Есть сайт. Там была древняя версия эво. Стоял плагин, который каждый коммент в Jot делал отдельной страницей. После обновления все слетело, теперь старница открывается отдельн...
Artem
1
Всем привет! Кто нибудь парсил в ручную JSON без библиотек и фреймворков? Есть может ссылки на оптимальный алгоритмы работы с текстом и примеры таких парсеров?
Lem
23
$res = json_decode($наша строка из респонса); $res1 = array_map(fn($o) => $o->name, $res->breadcrumbs[0]->entities); Как такое будет на Хаскеле?.. В начале весь джейсон, в ко...
Хаскель Моисеевич Гопник
27
Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
11
В чем сила брат, в NASM или FASM?
Isaac Kleiner
18
А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
Приветствую всех. Хочу начать изучать код для программирования микроконтроллеров и не пойму с чего начать. То ли с Си, то ли с плюсов. Чем языки вообще различаются. С чего мож...
Андрей
7
Карта сайта