4 / 4 / 3
Регистрация: 23.10.2012
Сообщений: 233
|
|
1 | |
Стоит ли использовать тернарный оператор, если всегда есть альтернативы в С ?04.07.2013, 00:55. Показов 8851. Ответов 85
Метки нет (Все метки)
Мне вот интересно , что скажут люди о Тернарном операторе, которые уже на С++ программируют немало.
Насколько он удобен, много ли экономит пространство кода и стоит ли его применять сильно часто или же тернарный оператор у многих не приживается в дальнейшем. Да не спорю придумали его наверное не зря, перед какими то задачи он может и удобен, но мне кажется что его используют мало людей
0
|
04.07.2013, 00:55 | |
Ответы с готовыми решениями:
85
Оператор идентичности - когда стоит использовать? Оператор gets() не хочет выполняться, если перед ним стоит scanf Как узнать есть ли фронтальная камера на устройстве и если есть, то использовать ее? Где стоит использовать bootstrap и стоит ли вообще использовать CSS фреймворки? |
194 / 174 / 30
Регистрация: 10.07.2012
Сообщений: 800
|
|
04.07.2013, 08:05 | 3 |
это вопрос привычки. поначалу кажется, что "блин, запутано тут все очень". сейчас, например мне, гораздо проще воспринимать его, чем два if() и еще кучу скобочек.
0
|
Ушел с форума
|
||||||
04.07.2013, 09:45 | 4 | |||||
Хорошее применение тернарного оператора - инициализация константных данных,
когда нужно присвоить значение по условию. Например:
1
|
04.07.2013, 10:05 | 5 | |||||
функция
0
|
194 / 174 / 30
Регистрация: 10.07.2012
Сообщений: 800
|
|
04.07.2013, 10:23 | 6 |
Сообщение было отмечено как решение
Решение
3
|
194 / 174 / 30
Регистрация: 10.07.2012
Сообщений: 800
|
|
04.07.2013, 10:34 | 8 |
ниасилил я ваши метафоры...
0
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|||||||||||
04.07.2013, 10:55 | 9 | ||||||||||
Личное мое имхо, что использование более одного тернарного оператора в строке ничего хорошего не приносит.
К тому же, не стоит забывать о приоритетах в тернарном операторе. Пример: был у меня как-то подобный код:
И решил я его зарефакторить по неопытности в такой:
0
|
Почетный модератор
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
|
|||||||||||
04.07.2013, 10:59 | 10 | ||||||||||
Сообщение было отмечено как решение
Решение
На самом деле в циклы удобно пихать:
3
|
394 / 369 / 111
Регистрация: 03.02.2013
Сообщений: 1,128
|
||||||
04.07.2013, 11:10 | 11 | |||||
эмм... не понятно...
как то так будет выглядеть :
0
|
394 / 369 / 111
Регистрация: 03.02.2013
Сообщений: 1,128
|
|
04.07.2013, 11:35 | 13 |
Thinker,
строку типа "347ЙQ562" (коды Q и Й больше цифр по кодам) эта функция захавает и выдаст тот же результат 7, что и ваша трёхэтажная конструкция Добавлено через 1 минуту а кожись догнал что вы имели ввиду) сейчас подумаю малясь
0
|
394 / 369 / 111
Регистрация: 03.02.2013
Сообщений: 1,128
|
||||||
04.07.2013, 11:40 | 15 | |||||
0
|
04.07.2013, 11:47 | 16 | |||||
опять не то. для строки "abc123" ответ '3', а у вас 'a'
непонятно что тут сложного, свмый простой способ:
0
|
394 / 369 / 111
Регистрация: 03.02.2013
Сообщений: 1,128
|
||||||
04.07.2013, 11:48 | 17 | |||||
Thinker,
ну если первой строчкой засандалить char m = 0; вместо char m = *s; у вас там то же самое происходит Добавлено через 32 секунды типа так
0
|
394 / 369 / 111
Регистрация: 03.02.2013
Сообщений: 1,128
|
||||||
04.07.2013, 11:57 | 19 | |||||
Thinker,
да, действительно первый символ выпадает
0
|
04.07.2013, 12:00 | 20 |
0
|
04.07.2013, 12:00 | |
04.07.2013, 12:00 | |
Помогаю со студенческими работами здесь
20
тернарный оператор Тернарный оператор Тернарный оператор Тернарный оператор Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |