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

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

Войти
Регистрация
Восстановить пароль
 
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6472 / 3120 / 306
Регистрация: 04.12.2011
Сообщений: 8,594
Записей в блоге: 4
#1

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

23.09.2016, 21:53. Просмотров 173. Ответов 6
Метки нет (Все метки)

Цитата Сообщение от MRG_Serejka Посмотреть сообщение
Помогите понять принцип работы перегрузки операторов.
лучше говорить операция, так как оператор в англоязычной литературе, это нечто иное...
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2016, 21:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Тонкости терминологии: что такое оператор, операция, инструкция и кто из них operator, а кто statement? (C++):

кто знает что такое kernel time - C++
и как использовать это знание при написании программ?

Кто-нибудь может подробно объяснить, что такое allocators, зачем это и что с ними делать? Нигде не нашёл инфы - C++
Заранее спасибо.

Что такое "bool " и #include <algorithm>? Кто знает , как они работают ? - C++
Вот код: #include &quot;stdafx.h&quot; #include &lt;algorithm&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; bool...

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

operator это оператор или операция? - JavaScript
Как правильно переводится слово operator: операция или оператор?

Если я на пальцах объясню, что такое дисконтирование, и что должно получиться, кто поможет? - QBasic
Определить ставку дисконтирования (discount rate) или необходимую с точки зрения фирмы норму прибыли r, при которой по показателю чистой...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
gru74ik
Модератор
Эксперт CЭксперт С++
4180 / 1808 / 197
Регистрация: 20.02.2013
Сообщений: 4,944
Записей в блоге: 21
24.09.2016, 14:04 #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.
1
Mr.X
Эксперт С++
3049 / 1694 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
24.09.2016, 14:30 #3
Цитата Сообщение от gru74ik Посмотреть сообщение
ты, мил друг, сам, похоже, запутался. Тут-то как раз оператор
Да не, тут в программистской терминологии путаница наблюдается.
Вначале переводили все правильно, т.е. operator как операция, а statement как оператор.
Потом кому-то взбрело переводить operator как оператор (видимо по созвучию и незнанию английского), после этого срочно пришлось переименовывать оператор (в смысле инструкции) в инструкцию.
1
gru74ik
Модератор
Эксперт CЭксперт С++
4180 / 1808 / 197
Регистрация: 20.02.2013
Сообщений: 4,944
Записей в блоге: 21
24.09.2016, 14:46 #4
Цитата Сообщение от Mr.X Посмотреть сообщение
Потом кому-то взбрело переводить operator как оператор
В этой отдельно взятой книге оба термина переведены как "оператор". Но переводчики тут пошли другим путём: они в скобках указывают, когда речь идёт об operator, а когда о statement:
Цитата Сообщение от Стенли Липпман
Значения операторов для встроенных и составных типов определяет сам язык. Значение большинства операторов типов классов мы можем определить самостоятельно. Поскольку такие определения придают альтернативное значение существующему символу оператора, они называются перегруженными операторами (overloaded operator). Операторы >> и << библиотеки ввода и вывода, а также операторы, использовавшиеся с объектами строк, векторов и итераторов, являются перегруженными операторами.
Цитата Сообщение от Стенли Липпман
Оператор (statement). Часть программы, определяющая действие, предпринимаемое при выполнении программы. Выражение, завершающееся точкой с запятой, является оператором. Такие операторы, как if, for и while, имеют блоки, способные содержать другие операторы.
0
Mr.X
Эксперт С++
3049 / 1694 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
24.09.2016, 15:06 #5
Цитата Сообщение от gru74ik Посмотреть сообщение
В этой отдельно взятой книге оба термина переведены как "оператор".
Цитата Сообщение от gru74ik Посмотреть сообщение
Вот когда оператором обзывают операцию (инструкцию), сиречь statement, вот тут, да, начинается путаница.
Т.е. переводчики таки решили путаницу устроить!
Или они пошли на компромисс?

Не по теме:

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


Кстати, у statement не существует перевода "операция", это уж вышеуказанная путаница сыграла с вами злую шутку.
0
gru74ik
Модератор
Эксперт CЭксперт С++
4180 / 1808 / 197
Регистрация: 20.02.2013
Сообщений: 4,944
Записей в блоге: 21
24.09.2016, 15:12 #6
Цитата Сообщение от Mr.X Посмотреть сообщение
Кстати, у statement не существует перевода "операция", это уж вышеуказанная путаница сыграла с вами злую шутку.
Благодарю, действительно, так и есть.

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

Давайте рассмотрим прием, с помощью которого операциям над объектами можно
придать более симпатичный вид. Перегрузка операций — это пример полиморфизма C++.
В главе 8 было показано, что C++ позволяет определять несколько функций с
одинаковыми именами и разной сигнатурой (списками аргументов). Это называлось
перегрузкой функций или функциональным полиморфизмом. Цель такой перегрузки —
позволить использовать одно и то же имя функции для некоторой базовой операции, несмотря
на то, что она применяется к данным разных типов. Перегрузка операций расширяет
концепцию перегрузки на операции, позволяя трактовать их множеством способов.
На самом деле многие операции C++ (как и С) уже перегружены.
0
Mr.X
Эксперт С++
3049 / 1694 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
24.09.2016, 15:24 #7
Цитата Сообщение от Mr.X Посмотреть сообщение
кому-то взбрело переводить operator как оператор (видимо по созвучию
Кстати, такие слова, созвучные в разных языках, но имеющие разное значение, называются ложными друзьями переводчика, и, как видим, иногда сильно мешают жить!
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.09.2016, 15:24
Привет! Вот еще темы с ответами:

Может кто знает что такое - Видеокарты
Проблема такая! Комп уже устарел, решили с отцом купить по частям всё новое! Взяли мать Asus LGA1151 H110M-R/C/SI H110 2xDDR4-2133 PCI-Ex16...

кто знает что это такое? - PHP
Warning: fopen() : open_basedir restriction in effect. File(/var/www/html/style.css) is not within the allowed path(s):...

Кто знает что это такое с windows 8 - Windows 8, 8.1
у меня на панели высвечиваються открытые какието приложения вот рисунок . Кт о знает что это такое отзовтесь!

Кто может объяснить что такое CLR? - .NET
Что вообще делает CLR? читала но как то не особо поняла:-|


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
24.09.2016, 15:24
Ответ Создать тему
Опции темы

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