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

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

Войти
Регистрация
Восстановить пароль
 
Temirlan90
131 / 131 / 8
Регистрация: 30.09.2010
Сообщений: 333
#1

Где тут отличия? - C++

04.02.2011, 18:55. Просмотров 506. Ответов 8
Метки нет (Все метки)

Добрый вечер. Вот есть 2 исходника с одинаковым кодом, но с разными конструкциями оператора условия.
1)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
int main() {
    setlocale(LC_ALL, "Russian");
    int n;
    std::cin >> n;
    if(n > 5) {
        std::cout << "Число больше 5.";
    }
    else {
        std::cout << "Число меньше 5.";
    }
    system("pause >> void");
}
2)
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
 
int main() {
    setlocale(LC_ALL, "Russian");
    int n;
    std::cin >> n;
    (n > 5) ? std::cout << "Число больше 5." : std::cout << "Число меньше 5.";  
    system("pause >> void");
}
В чем между ними разница?
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
04.02.2011, 18:58     Где тут отличия? #2
Temirlan90, Тернарный оператор и обычное if/else вот и все)
Temirlan90
131 / 131 / 8
Регистрация: 30.09.2010
Сообщений: 333
04.02.2011, 19:01  [ТС]     Где тут отличия? #3
ForEveR, а так разницы нету, что именно юзать в плане функционала?
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
04.02.2011, 19:03     Где тут отличия? #4
Temirlan90, В плане функционала - нет. Краткая запись для таких условий впринципе интереснее)
Temirlan90
04.02.2011, 19:12  [ТС]
  #5

Не по теме:

ForEveR, получается синтаксический сахар

alex_x_x
бжни
2445 / 1650 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
04.02.2011, 19:35     Где тут отличия? #6
я бы так написал
C++
1
std::cout << ((n > 5) ? "Число больше 5." : "Число меньше 5.");
CyBOSSeR
Эксперт C++
2299 / 1669 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
04.02.2011, 20:11     Где тут отличия? #7
Как вариант:
C++
1
2
3
std::cout << "Число "
          << (n > 5? "больше" : "меньше")
          << " 5.";
Mr.X
Эксперт С++
3040 / 1685 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
04.02.2011, 20:20     Где тут отличия? #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от alex_x_x Посмотреть сообщение
я бы так написал
C++
1
std::cout << ((n > 5) ? "Число больше 5." : "Число меньше 5.");
А я бы так:
C++
1
std::cout << ((n > 5) ? "Число больше 5." : "Число меньше или равно 5.");
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.02.2011, 20:26     Где тут отличия?
Еще ссылки по теме:

C++ Отличия в C++11 для новичка
C++ Где тут в коде происходит нахождение корня? (метод половинного деления)
C++ В чём отличия конструктора копирования и конструктора перемещения? Где и как их нужно использовать?
Отличия using и typedef C++
Собственно где тут ошибка? почему я не могу ввести правельно данные. Реализация класса C++

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

Или воспользуйтесь поиском по форуму:
alex_x_x
04.02.2011, 20:26     Где тут отличия?
  #9

Не по теме:

Mr.X, вот блин

Yandex
Объявления
04.02.2011, 20:26     Где тут отличия?
Ответ Создать тему
Опции темы

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