Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.81
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
#1

Тернарная операция "?" - C++

24.04.2013, 21:55. Просмотров 2242. Ответов 8
Метки нет (Все метки)

интересует вопрос есть ли в тернарной операции вложения,т.е. можно ли влаживать функции в тернарной операции,как в if else?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2013, 21:55     Тернарная операция "?"
Посмотрите здесь:

C++ Тернарная операция
Тернарная условная операция C++
Операция с матрицами "Объектно-ориентир программ" C++
С++ не смог разобраться (тернарная операция) C++
Указатели. Необработанное исключение в "0x77c015de" ": 0x00000000: Операция успешно завершена C++
Битовая операция "ИЛИ" эквивалентна операции сложения для двух целых чисел? C++
C++ Условие с двоеточием. Тернарная условная операция
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4876 / 3015 / 370
Регистрация: 10.11.2010
Сообщений: 11,075
Записей в блоге: 10
Завершенные тесты: 1
24.04.2013, 21:57     Тернарная операция "?" #2
Можно.
int x = 1 > 0 ? rand() % 100 : 0;
Croessmah
Модератор
Эксперт CЭксперт С++
12877 / 7263 / 810
Регистрация: 27.09.2012
Сообщений: 17,944
Записей в блоге: 2
Завершенные тесты: 1
24.04.2013, 21:58     Тернарная операция "?" #3
Цитата Сообщение от faLek Посмотреть сообщение
интересует вопрос есть ли в тернарной операции вложения,т.е. можно ли влаживать функции в тернарной операции,как в if else?
да хоть пол программы напишите
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 542
24.04.2013, 22:01     Тернарная операция "?" #4
По аналогии можно и с 4, 5, 6 и т.д. аргументами
C++
1
2
3
4
bool  min(int x, int y, int z)
{
    return (x > y && z > y ? y : (y > z ? z : y));
}
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
24.04.2013, 22:19  [ТС]     Тернарная операция "?" #5
ок ок,налетели,просто не встречал,изучая,так заинтересовало,спасибо отозвавшимся,а по функционалу,что лучше использовать if ... else или тернарную функцию?
Jupiter
Каратель
Эксперт С++
6549 / 3969 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
24.04.2013, 22:21     Тернарная операция "?" #6
Цитата Сообщение от faLek Посмотреть сообщение
,а по функционалу,что лучше использовать if ... else или тернарную функцию?
что лучше молоток или кувалда? намек ясен?
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
24.04.2013, 22:29  [ТС]     Тернарная операция "?" #7
ну вы поставили меня в затруднительное положение
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
24.04.2013, 23:43     Тернарная операция "?" #8
if–else. Тернарный оператор только в инициализаторах или простых return, где он самоочевиден. Хотя бы потому, что внутри if–else можно переносимо вводить новые переменные и писать полные выражения вроде циклов.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2013, 00:50     Тернарная операция "?"
Еще ссылки по теме:

Тернарная условная операция C++
Как работает операция взятия адреса "&"? C++
Ошибка при рекурсивном вычислении: "недопустимая операция с плавающей точкой" C++
Нюансы синтаксиса: объяснить как работает тернарная операция в заданном фрагменте кода C++
C++ Тернарная операция. Пустое значение

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
veverix
39 / 39 / 2
Регистрация: 14.09.2012
Сообщений: 85
25.04.2013, 00:50     Тернарная операция "?" #9
if-else лучше использовать, где большие условия.

Тернарные лучше использовать при присвоении или передаче аргумента:

C++
1
2
int i = c < 0 ? 1 : 2;
function(c<0 ? 1 : 0, "Arg2");
Yandex
Объявления
25.04.2013, 00:50     Тернарная операция "?"
Ответ Создать тему
Опции темы

Текущее время: 13:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru