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

Тонкости терминологии: что такое оператор, операция, инструкция и кто из них operator, а кто statement? - C++

Восстановить пароль Регистрация
 
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6171 / 2900 / 283
Регистрация: 04.12.2011
Сообщений: 7,710
Записей в блоге: 3
23.09.2016, 21:53     Тонкости терминологии: что такое оператор, операция, инструкция и кто из них operator, а кто statement? #1
Цитата Сообщение от MRG_Serejka Посмотреть сообщение
Помогите понять принцип работы перегрузки операторов.
лучше говорить операция, так как оператор в англоязычной литературе, это нечто иное...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2016, 21:53     Тонкости терминологии: что такое оператор, операция, инструкция и кто из них operator, а кто statement?
Посмотрите здесь:

C++ кто знает что такое kernel time
что такое trunc в pascal и на какой оператор его заменить в С++?? C++
Записи: Задать список спортсменов, распечатать сведения о тех из них, кто занимается плаваньем C++
C++ Что такое "bool " и #include <algorithm>? Кто знает , как они работают ?
C++ Известны год, номер месяца и день рождения каждого из двух человек.Определить, кто из них старше с++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gru74ik
Модератор
 Аватар для gru74ik
3120 / 1346 / 167
Регистрация: 20.02.2013
Сообщений: 3,835
Записей в блоге: 17
24.09.2016, 14:04     Тонкости терминологии: что такое оператор, операция, инструкция и кто из них operator, а кто statement? #2
Цитата Сообщение от IGPIGP Посмотреть сообщение
лучше говорить операция, так как оператор в англоязычной литературе, это нечто иное
IGPIGP, ты, мил друг, сам, похоже, запутался. Тут-то как раз оператор:
Цитата Сообщение от Stanley Lippman
Overloaded Operators

The language defines what the operators mean when applied to built-in and
compound types. We can also define what most operators mean when applied to class
types. Because such definitions give an alternative meaning to an existing operator
symbol, we refer to them as overloaded operators. The IO library >> and <<
operators and the operators we used with strings, vectors, and iterators are all
overloaded operators.
Добавлено через 1 минуту
Вот когда оператором обзывают операцию (инструкцию), сиречь statement, вот тут, да, начинается путаница. Но конкретно здесь речь не о statement, а как раз об operator.

Добавлено через 8 минут
IGPIGP, а вот что такое statement:

Цитата Сообщение от Stanley Lippman
Statement

A part of a program that specifies an action to take place when the
program is executed. An expression followed by a semicolon is a statement; other
kinds of statements include blocks and if, for, and while statements, all of
which contain other statements within themselves.
Mr.X
Эксперт С++
 Аватар для Mr.X
2802 / 1578 / 247
Регистрация: 03.05.2010
Сообщений: 3,666
24.09.2016, 14:30     Тонкости терминологии: что такое оператор, операция, инструкция и кто из них operator, а кто statement? #3
Цитата Сообщение от gru74ik Посмотреть сообщение
ты, мил друг, сам, похоже, запутался. Тут-то как раз оператор
Да не, тут в программистской терминологии путаница наблюдается.
Вначале переводили все правильно, т.е. operator как операция, а statement как оператор.
Потом кому-то взбрело переводить operator как оператор (видимо по созвучию и незнанию английского), после этого срочно пришлось переименовывать оператор (в смысле инструкции) в инструкцию.
gru74ik
Модератор
 Аватар для gru74ik
3120 / 1346 / 167
Регистрация: 20.02.2013
Сообщений: 3,835
Записей в блоге: 17
24.09.2016, 14:46     Тонкости терминологии: что такое оператор, операция, инструкция и кто из них operator, а кто statement? #4
Цитата Сообщение от Mr.X Посмотреть сообщение
Потом кому-то взбрело переводить operator как оператор
В этой отдельно взятой книге оба термина переведены как "оператор". Но переводчики тут пошли другим путём: они в скобках указывают, когда речь идёт об operator, а когда о statement:
Цитата Сообщение от Стенли Липпман
Значения операторов для встроенных и составных типов определяет сам язык. Значение большинства операторов типов классов мы можем определить самостоятельно. Поскольку такие определения придают альтернативное значение существующему символу оператора, они называются перегруженными операторами (overloaded operator). Операторы >> и << библиотеки ввода и вывода, а также операторы, использовавшиеся с объектами строк, векторов и итераторов, являются перегруженными операторами.
Цитата Сообщение от Стенли Липпман
Оператор (statement). Часть программы, определяющая действие, предпринимаемое при выполнении программы. Выражение, завершающееся точкой с запятой, является оператором. Такие операторы, как if, for и while, имеют блоки, способные содержать другие операторы.
Mr.X
Эксперт С++
 Аватар для Mr.X
2802 / 1578 / 247
Регистрация: 03.05.2010
Сообщений: 3,666
24.09.2016, 15:06     Тонкости терминологии: что такое оператор, операция, инструкция и кто из них operator, а кто statement? #5
Цитата Сообщение от gru74ik Посмотреть сообщение
В этой отдельно взятой книге оба термина переведены как "оператор".
Цитата Сообщение от gru74ik Посмотреть сообщение
Вот когда оператором обзывают операцию (инструкцию), сиречь statement, вот тут, да, начинается путаница.
Т.е. переводчики таки решили путаницу устроить!
Или они пошли на компромисс?

Не по теме:

Анекдот на тему.
- Я своему начальнику поставил условие: или он повышает мне зарплату, или я ухожу с работы!
- И?
- Мы пошли на компромисс: он не повышает мне зарплату, - я не ухожу с работы!


Кстати, у statement не существует перевода "операция", это уж вышеуказанная путаница сыграла с вами злую шутку.
gru74ik
Модератор
 Аватар для gru74ik
3120 / 1346 / 167
Регистрация: 20.02.2013
Сообщений: 3,835
Записей в блоге: 17
24.09.2016, 15:12     Тонкости терминологии: что такое оператор, операция, инструкция и кто из них operator, а кто statement? #6
Цитата Сообщение от Mr.X Посмотреть сообщение
Кстати, у statement не существует перевода "операция", это уж вышеуказанная путаница сыграла с вами злую шутку.
Благодарю, действительно, так и есть.

Добавлено через 4 минуты
Mr.X, у Праты так перевели:
Цитата Сообщение от Стивен Прата
Перегрузка операций

Давайте рассмотрим прием, с помощью которого операциям над объектами можно
придать более симпатичный вид. Перегрузка операций — это пример полиморфизма C++.
В главе 8 было показано, что C++ позволяет определять несколько функций с
одинаковыми именами и разной сигнатурой (списками аргументов). Это называлось
перегрузкой функций или функциональным полиморфизмом. Цель такой перегрузки —
позволить использовать одно и то же имя функции для некоторой базовой операции, несмотря
на то, что она применяется к данным разных типов. Перегрузка операций расширяет
концепцию перегрузки на операции, позволяя трактовать их множеством способов.
На самом деле многие операции C++ (как и С) уже перегружены.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.09.2016, 15:24     Тонкости терминологии: что такое оператор, операция, инструкция и кто из них operator, а кто statement?
Еще ссылки по теме:

Что такое заголовочный файл? Что такое файл исходного кода? Рассмотрите назначение каждого из них C++
Оператор \ выражение - что же это такое на самом деле? C++
Что такое оператор блока? C++

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

Или воспользуйтесь поиском по форуму:
Mr.X
Эксперт С++
 Аватар для Mr.X
2802 / 1578 / 247
Регистрация: 03.05.2010
Сообщений: 3,666
24.09.2016, 15:24     Тонкости терминологии: что такое оператор, операция, инструкция и кто из них operator, а кто statement? #7
Цитата Сообщение от Mr.X Посмотреть сообщение
кому-то взбрело переводить operator как оператор (видимо по созвучию
Кстати, такие слова, созвучные в разных языках, но имеющие разное значение, называются ложными друзьями переводчика, и, как видим, иногда сильно мешают жить!
Yandex
Объявления
24.09.2016, 15:24     Тонкости терминологии: что такое оператор, операция, инструкция и кто из них operator, а кто statement?
Ответ Создать тему
Опции темы

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