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

Является ли тернарный оператор оператором сравнения? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Пустые указатели (ошибка доступа) http://www.cyberforum.ru/cpp-beginners/thread1240173.html
Здравствуйте, пишу простенький фрамеворк для загрузки текстур для того чтобы добавить эти текстуры в игру. Существует Класс Load -> Наследник Texture -> Наследник...
C++ Можно ли инициализировать динамический массив не используя цикл? Когда создавали статический массив, можно было сделать так: int array={1,5,14,23,32,45,67}; Можно ли такое же сделать с динамическим массивом? Со строками получается, а с произвольным массивом... http://www.cyberforum.ru/cpp-beginners/thread1240169.html
C++ Непонятные ошибки линковщика
В общем пытаюсь прикрутить работу с пост запросами но появляются ошибки не могу понять как всё это исправить
C++ Как сделать, так, чтобы ряд действий в программе выполнялся до тех пор, пока пользователь не нажмёт на крестик
Как сделать, так, чтобы ряд действий в программе выполнялся до тех пор, пока пользователь не нажмёт на крестик? Я работаю в программе Microsoft Visual Studio Ultimate 2012. Моя операционная система...
C++ Геттер/Сеттер для классового типа http://www.cyberforum.ru/cpp-beginners/thread1240139.html
Добрый день. Не могу разобраться как правильно сделать Геттер/сеттер вот для такого поля : В .h class SomeClassName { private : SomeClassName *pointer = NULL; public:
C++ Как изменить интерфейс программы? Я новичок в С++, и мне не нравится, что окно котрое открывается после запуска программы, чёрное! Как изменить дизайн, интерфейс программы? подробнее

Показать сообщение отдельно
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6503 / 3139 / 307
Регистрация: 04.12.2011
Сообщений: 8,661
Записей в блоге: 5
10.08.2014, 19:23
Цитата Сообщение от Vtulhu Посмотреть сообщение
Тернарный оператор удобен, когда надо сделать что-то, грубо говоря, в одной строчке.
Тренарныйная опрератороперация в отличие от пары условных операторов не ветвит поток управления, а возвращает значение. И делает она это в фрейме стека, где применена. Это должно быть быстрее. Кроме того, как уже говорили, возвращаемое значение может инициализировать ссылку. Константы инициализированные таким способом, не являются константным выражением в применении, но тоже возможны как вариант.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
int main()
{
int a, b ;
cin >> a;
cin >> b;
const int n = a>b? b : a ;
//n++; ведёт себя как константа, то есть на стадии компиляции не позволяет себя изменить
//int c[n]; но всё же это не полноценная константа (без этой строки компилируется и понятно почему))
 
cout<<endl;
cin.get();
return 0;
}
В принципе с учётом возможной оптимизации, выражение с if-else, наверное может дать такой же код как и тренарная, в случаях когда они взаимозаменяемы. Тут не уверен. Нет опыта.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru