Был на свете человек он был обичный как все любил призидента и был нормальным но один раз когда он пошоо гулять с друзьями он упал в яму наткнувшись на блок он кго тронул и о него было видение потом его нашли копы работающие на призедента они розказали ему что Президент взорвет мир и только он мон мир с блока его хотели питать но пришел парень который его началась погоня и парень понял (его звали Дикарь) что человек (он де Эммет) не избранный продалдалась погоня и коп вистрельнул в Эммета пушкой (котороя не взривала а прилипила жучка) Коп их стрелял но бэтмен их они полетели в Заоблачную даль К другим крутим людям которие б им мир но из-за жучка прилетели копы и взорвали Заоблачную даль всех посадили в тюрмю но банда Эммета уцелела они пошли к Президенту гле их ожидали и словили все билы без но Эммет вибралса гле подертвовал собой для других и они закончили то что Эммет начал надавали люлей Президенту и копам и мир не взорвался а Эммет вижил! Конец!
Тернарный оператор должен возвращать значение (или ссылку на переменную), которое потом можно использовать. Например, если в целочисленной переменной a записано число -3, то используя такой синтаксис: int absa = a >= 0 ? a : -a; можно присвоить переменной absa значение |-3| = 3.
Выражения break, continue (и, например, return) управляют выполнением программы, показывая, какую инструкцию выполнять следующей, и не возвращают никакого значения (даже void). Поэтому при попытке использовать такие выражения в качестве аргументов тернарного оператора, ожидающего, что оба аргумента вернут какое-то значение, возникает ошибка компиляции.
Если очень хочется использовать тернарный оператор для выхода из цикла (но зачем?) можно выбрасывать исключение, которое потом обрабатывать, например, так: try { int a = 5; while(true) { a == 0 ? throw "a equals 0" : (void) 0; a--; } } catch (char const* s) { if (s != "a equals 0") throw s; };
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку