0 / 0 / 0
Регистрация: 18.05.2012
Сообщений: 8
1

Как работает оператор cout и return?

03.09.2015, 14:45. Показов 6223. Ответов 28
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Допустим есть функция:

C++
1
2
3
4
5
6
    int show()
    {   
        int g = 5;
        cout << (g>7)?1:2;
        return g>7?1:2;
    }
return на выражение g>7?1:2 не выдает никаких ошибок, в cout нужно обязательно скобка для (g>7), иначе на такое g>7?1:2 cout ругается. Почему так работает?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.09.2015, 14:45
Ответы с готовыми решениями:

С++, оператор return. ПОдскажите, почему не работает?
нужно, чтобы линейная программа завершалась, если выполняется условие. Но даже если условие не...

Не работает оператор return в рекурсивной функции
Писал курсач реализовать игру в калах. В коде в функции solve_computer() в 112 строчке не...

Как использовать оператор return?
При запуске возникает ошибка, связанная с тем, что функция должна вернуть значение. Подскажите, что...

Cout like: перегрузить оператор<< по примеру объекта cout для extern объекта пользовательского типа
Мне нужен extern объект по примеру cout с перегруженным оператором. Я нечто подобное сделал, только...

28
2662 / 2237 / 240
Регистрация: 03.07.2012
Сообщений: 8,138
Записей в блоге: 1
04.09.2015, 09:34 21
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от zer0mail Посмотреть сообщение
выводы из неверных посылок
Цитата Сообщение от Mr.X Посмотреть сообщение
Почему же из неверных-то?
Все же определитесь: cout-оператор или нет. Если "да", то учите С++. Если "нет", то посылка "cout-оператор" неверная (как я и написал выше).
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
04.09.2015, 09:40 22
Соглашусь с zer0mail. Язык не виноват в том что ТС не знает что такое cout и какие приоритеты у операторов. Нельзя полностью избежать использования скобок, какие операторы не вводи и какие приоритеты им не присваивай.
0
Эксперт С++
3224 / 1751 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
04.09.2015, 09:46 23
Цитата Сообщение от zer0mail Посмотреть сообщение
посылка "cout-оператор" неверная
Я похож на человека, способного такое сморозить? Что-то вы уже бредить начали...

Добавлено через 6 минут
Цитата Сообщение от castaway Посмотреть сообщение
Язык не виноват в том что ТС не знает что такое cout и какие приоритеты у операторов.
А при чем здесь cout? Операторы сдвига перегружены для ввода-вывода в любой поток. А система приоритетов операторов для того и существует, чтобы писать без скобок. Вот в Лиспе нет приоритетов, зато скобок очень много.
0
2662 / 2237 / 240
Регистрация: 03.07.2012
Сообщений: 8,138
Записей в блоге: 1
04.09.2015, 09:49 24
Добавлено через 15 секунд
Цитата Сообщение от Mr.X Посмотреть сообщение
Что-то вы уже бредить начали...
Это вы дурачка включаете. Я написал, что ТС исходил из неверных посылок, а вы встряли со своим "Почему же из неверных-то?". Я объяснил где и почему, но до вас не доходит...
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
04.09.2015, 09:56 25
Цитата Сообщение от Mr.X Посмотреть сообщение
А система приоритетов операторов для того и существует, чтобы писать без скобок.
Я бы сказал что система приоритетов помогает писать без скобок, она не должна полностью избавить нас от их использования. Существует какой-нибудь язык, в котором система приоритетов полностью решает проблему скобок?

Добавлено через 2 минуты
Цитата Сообщение от Mr.X Посмотреть сообщение
А при чем здесь cout?
Не при чём. Это просто подчеркивает некомпетентность ТС.
0
Эксперт С++
3224 / 1751 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
04.09.2015, 10:04 26
zer0mail, а хамить-то зачем? Считаете это весомым аргументом? В общем, вижу, что в тему вы не въехали, поэтому не вижу нужным продолжать разговор. Да и с хамами я не общаюсь.
0
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
04.09.2015, 10:05 27
Цитата Сообщение от zer0mail Посмотреть сообщение
Я написал, что ТС исходил из неверных посылок
Mr.X пытался сказать, что "правильный" язык будет сконструирован так, что наиболее естественное для человека восприятие конструкции окажется именно правильным с точки зрения языка. Типа того, что глядя на выражение "a + b * c" человеку не надо читать книги и стандарты, чтобы понять, что в каком порядке исполнится, т.к. порядок исполнения будет совпадать с ожиданиями. Наличие у человека "неверных посылок" (т.е. когда ожидания не совпали с действительностью) конкретно в данном случае говорит о топорности языка, об уродской реализации ввода-вывода.
2
2662 / 2237 / 240
Регистрация: 03.07.2012
Сообщений: 8,138
Записей в блоге: 1
04.09.2015, 15:42 28
Цитата Сообщение от Mr.X Посмотреть сообщение
Что-то вы уже бредить начали..
Да и с хамами я не общаюсь.
Аналогично, особенно с теми, кто тупит и начинает хамить первым.

Добавлено через 5 минут
Цитата Сообщение от Evg Посмотреть сообщение
Наличие у человека "неверных посылок" (т.е. когда ожидания не совпали с действительностью) конкретно в данном случае говорит о топорности языка, об уродской реализации ввода-вывода.
Какая бы стройная и логичная система не была, всегда найдутся те, которые ее не поймут и которым она будет казаться нелогичной. Программист должен стремиться понять логику языка (если хочет реально программировать, а не учить уму-разуму других).

Добавлено через 4 минуты
Цитата Сообщение от Evg Посмотреть сообщение
Mr.X пытался сказать, что "правильный" язык будет сконструирован так
Я не обсуждал с ним, как должен быть сконструирован язык. Я написал, что ТС неправильно понял то, что в языке уже есть. А в ответ... (ну, сами можете почитать).
0
DrOffset
04.09.2015, 21:33     Как работает оператор cout и return?
  #29
 Комментарий модератора 

Уважаемые участники, я вас попрошу градус дискуссии не увеличивать.
Для вашего же блага.
Пожмите друг другу руки, очевидно, что вышло непонимание с обеих сторон. Никто в этом не виноват, так бывает. Не нужно устраивать разборки.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.09.2015, 21:33

Для шаблонного класса перегрузить оператор присваивания, copy-конструктор, объекты cin и cout, оператор *
Помогите в следующем: Для класса шаблона следует перегрузить оператор присваивания, конструктор...

Как работает cout?
есть такая функция void output(recipe *list, int N){ for(int i=0; i&lt;N; i++){...

Как работает return?
При изучении функции наткнулся на непонятную для меня вещь это возврат функций с помощью команды...

оператор cout
вот у меня есть строка вывода инф. на экран cout&lt;&lt;&quot;b=&quot;&lt;&lt;b; и число под символом b = 1.3525 ,...


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

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru