Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
10 / 10 / 0
Регистрация: 04.03.2013
Сообщений: 665
1

Оператор \ выражение - что же это такое на самом деле?

17.04.2016, 16:16. Показов 1771. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Какого ... выражение называют оператором?
Миниатюры
Оператор \ выражение - что же это такое на самом деле?  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.04.2016, 16:16
Ответы с готовыми решениями:

Что такое string на самом деле?
Всем привет! Столкнулся с проблемой и никак не могу разобраться. Мне необходимо из строки...

Что такое ссылка на самом деле?
Здравствуйте. Насколько я понимаю, ссылка - это переменная, которая на самом деле является...

Что это на самом деле *(dwordArray + 201) ?
*(dwordArray + 201) = *(dwordArray + 200) + v29; не могу понять что это a = a + v29 ??

О чем на самом деле предупреждает это сообщение?
Выдает мне VS 2017 сообщение типа "Сообщение IDE1006 Нарушение правила именования: Эти слова...

15
10 / 10 / 0
Регистрация: 04.03.2013
Сообщений: 665
17.04.2016, 21:36  [ТС] 2
В данной ситуации std::cout << "Eter two nubmers:"; является выражением, а оператор тут <<. То есть, должно было быть так: первое выражение выводит сообщение для пользователя. Это сообщение, ...

Добавлено через 15 минут
Или, в первом выражении оператор выводит сообщение для пользователя. Это сообщение... - так было бы лучше.

Добавлено через 4 часа 41 минуту
Вообще, появилось предположение, что оператор сам по себе подразумевает выражение, ибо у него есть аргументы \ операнды один или более того. Скорее всего по этому и употребляют сленг в виде оператора, вместо выражения %)
0
10 / 10 / 0
Регистрация: 04.03.2013
Сообщений: 665
19.04.2016, 11:30  [ТС] 3
Вопрос актуален, нужно разъяснение...
0
Модератор
Эксперт CЭксперт С++
5284 / 2371 / 342
Регистрация: 20.02.2013
Сообщений: 5,770
Записей в блоге: 20
19.04.2016, 11:56 4
Лучший ответ Сообщение было отмечено Arwel как решение

Решение

Цитата Сообщение от Arwel Посмотреть сообщение
Первый оператор выводит сообшение для пользователя.
В данном случае имеется в виду statement. В некоторых книгах этот термин переводят как "оператор", в других как "инструкция". Не стоит путать с термином operator, который тоже переводят как "оператор".
Выражение (expression) - это, по сути, инструкция (statement), только без точки с запятой.

Отличия:
C++
1
2
3
4
5
std::cout << "Hello World!\n"; // statement
 
int x = 10; // statement
 
x = x - 2; // statement
C++
1
2
3
int x = 10 // expression
 
x = x - 2 // expression
C++
1
2
3
4
5
<< // operator <<
 
* // operator *
 
+ // operator +
3
10 / 10 / 0
Регистрация: 04.03.2013
Сообщений: 665
19.04.2016, 12:51  [ТС] 5
Цитата Сообщение от gru74ik Посмотреть сообщение
В данном случае имеется в виду statement. В некоторых книгах этот термин переводят как "оператор", в других как "инструкция".
Тогда всё-таки инструкция - будет как-то более правильно, нежели чем оператор.
Например тут тоже замечен эдакий "фейл":
Миниатюры
Оператор \ выражение - что же это такое на самом деле?  
0
10 / 10 / 0
Регистрация: 04.03.2013
Сообщений: 665
19.04.2016, 12:52  [ТС] 6
С мои перфекционизмом только код писать ))))
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
19.04.2016, 13:00 7
Лучший ответ Сообщение было отмечено Arwel как решение

Решение

Цитата Сообщение от Arwel Посмотреть сообщение
Какого ... выражение называют оператором?
К сожалению, это дурная традиция в русских переводах зарубежной литературы по IT тематике. С незапамятных времен повелось так, что statement (предложение, утверждение), operator (оператор) и instruction (инструкция) переводчики чохом переводят как "оператор". Об истинном значении приходится догадываться по контексту. Или по оригиналу
1
10 / 10 / 0
Регистрация: 04.03.2013
Сообщений: 665
19.04.2016, 13:11  [ТС] 8
Нужны спец. издания книг для параноиков-перфекционистов. Мое сознание не знает горя от такой логики в некоторых моментах.
0
Эксперт С++
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
19.04.2016, 13:57 9
Цитата Сообщение от Arwel Посмотреть сообщение
Нужны спец. издания книг для параноиков-перфекционистов. Мое сознание не знает горя от такой логики в некоторых моментах.
Ну дак книги надо нормальные читать. В книжке Страуструпа все нормально переведено. А это вы что за фолиант мучаете?
1
10 / 10 / 0
Регистрация: 04.03.2013
Сообщений: 665
19.04.2016, 14:22  [ТС] 10
На данный момент я читаю это: http://www.ozon.ru/context/detail/id/26348781/ , аналогичное было и в Дейтелах, во всех изданиях, чёрт возьми.
За Страуструпа спасибо, но пока рано.

Добавлено через 20 минут
Цитата Сообщение от Mr.X Посмотреть сообщение
А это вы что за фолиант мучаете?
p.s. Это был ответ на данный вопрос.
0
Комп_Оратор)
Эксперт по математике/физике
8949 / 4703 / 629
Регистрация: 04.12.2011
Сообщений: 13,999
Записей в блоге: 16
19.04.2016, 15:01 11
Лучший ответ Сообщение было отмечено Arwel как решение

Решение

Цитата Сообщение от Arwel Посмотреть сообщение
Какого ... выражение называют оператором?
Фраза "Первый оператор выводит сообщение..." абсолютно точна. Я не могу точно рассмотреть, но вижу там:
C++
1
std::cout<<"bla-bla-bla";
и это оператор.
Сам оператор (операция если уж точно) вставки "<<" возвращает ссылку на поток и, в совокупности с объектом cout и аргументом "bla-bla-bla", является выражением. Вообще, любое выражение можно оформить в виде оператора, так как выражение это всё что что-либо возвращает. Например, литерал 12345 возвращает rvalue 1234, а предложение 1234; это выражение "12345" + пустой оператор ";"
то есть 12345;//это оператор. Бессмысленный, но всё-таки оператор.
1
10 / 10 / 0
Регистрация: 04.03.2013
Сообщений: 665
19.04.2016, 15:09  [ТС] 12
Цитата Сообщение от Mr.X Посмотреть сообщение
В книжке Страуструпа все нормально переведено
Четвёртое издание с переводом не нашёл, существует ли?
Взял пока на заметку третье.

Добавлено через 4 минуты
Цитата Сообщение от IGPIGP Посмотреть сообщение
в совокупности с объектом cout и аргументом "bla-bla-bla", является выражением
Стоп-стоп, выше мы выяснили, что это не выражение, а предложение \ утверждение, если бы отсутствовала ; , то было бы выражением.
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
19.04.2016, 15:21 13
Цитата Сообщение от Arwel Посмотреть сообщение
Стоп-стоп, выше мы выяснили, что это не выражение, а предложение \ утверждение
expression-statement
C++
1
2
3
x = x-2; //statement (expression-statement)
//expression-statement имеет форму:
//expression;
1
Комп_Оратор)
Эксперт по математике/физике
8949 / 4703 / 629
Регистрация: 04.12.2011
Сообщений: 13,999
Записей в блоге: 16
19.04.2016, 19:29 14
Цитата Сообщение от Arwel Посмотреть сообщение
Стоп-стоп, выше мы выяснили, что это не выражение, а предложение \ утверждение, если бы отсутствовала ; , то было бы выражением.
"Это" это что? У меня написано:
Цитата Сообщение от IGPIGP Посмотреть сообщение
Сам оператор (операция если уж точно) вставки "<<" возвращает ссылку на поток и, в совокупности с объектом cout и аргументом "bla-bla-bla", является выражением.
Это значит, что строка о которой речь, но без точки с запятой это выражение.
А операция вставки это операция. То, что при перегрузке операций используется ключевое слово operator, это не единичное явление в C++. В других языках подобных перлов тоже не мало. Ну и что? Кому-то нравится считать операцию оператором и всё бы ничего. Если бы ответить на вопрос: - "А что такое тогда оператор?". Хотите называть это стэйтментом или предложением? - Ради бога, но тогда кучу литературы и устоявшейся терминологии, - на помойку.
Лучше (имхо) считать операторами простые и блочные операторы. А операции с операторами не путать. Тогда всё останется как есть.
1
10 / 10 / 0
Регистрация: 04.03.2013
Сообщений: 665
20.04.2016, 15:06  [ТС] 15
Цитата Сообщение от IGPIGP Посмотреть сообщение
"Это" это что?
Цитата Сообщение от IGPIGP Посмотреть сообщение
std::cout<<"bla-bla-bla";
Кликните здесь для просмотра всего текста
Набранное вами сообщение слишком короткое. Увеличьте ваше сообщение до 3 символов.
0
Комп_Оратор)
Эксперт по математике/физике
8949 / 4703 / 629
Регистрация: 04.12.2011
Сообщений: 13,999
Записей в блоге: 16
20.04.2016, 16:29 16
Arwel, Вы о чём?
Цитата Сообщение от IGPIGP Посмотреть сообщение
оператор (операция если уж точно) вставки "<<" возвращает ссылку на поток и, в совокупности с объектом cout и аргументом "bla-bla-bla",
это словесное описание вот такой строки:
C++
1
std::cout<<"bla-bla-bla"
она, - выражение и в ней нет точки с запятой в отличие от оператора:
C++
1
std::cout<<"bla-bla-bla";
0
20.04.2016, 16:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.04.2016, 16:29
Помогаю со студенческими работами здесь

Функции - это на самом деле скрытые процедуры.
Внимание! Эту тему следует читать до конца. Т. к. не все утверждения в первом посте верны. По ходу...

что же на самом деле делает strcpy?
вот такой пример #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int main () {...

Передача массива в функцию - что на самом деле предается?
Имя массива это константный указатель. Когда мы передаем его в функциюvoid f1(int *iArray) f1 это...

Как работает оператор **, что это вообще такое?
Где то на майлах нашел возведение в корень при помощи **.5 так..что это вообще за херь и что она...


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

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