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

new - это операция или все таки оператор? - C++

Войти
Регистрация
Восстановить пароль
 
ilizard
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 50
16.03.2013, 23:02     new - это операция или все таки оператор? #1
В большинстве интернет-источниках написано, (взять хоть википедию (да, я понимаю, что там много неправильной информации)).
Но действительно, если вбить в поиск new c++ почти везде написано, что это оператор.
Но ведь это операция?? Или я что то путаю? Или разницы нет?
Помогите, я уж совсем запуталась.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4248 / 2780 / 219
Регистрация: 12.12.2009
Сообщений: 7,109
Записей в блоге: 1
Завершенные тесты: 1
16.03.2013, 23:05     new - это операция или все таки оператор? #2
"new" - это оператор, а, например, "выделение памяти" - это уже операция (ну точнее там последовательность операций).
ValeryS
Модератор
6413 / 4879 / 448
Регистрация: 14.02.2011
Сообщений: 16,180
16.03.2013, 23:05     new - это операция или все таки оператор? #3
по моему это вообще функция
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4248 / 2780 / 219
Регистрация: 12.12.2009
Сообщений: 7,109
Записей в блоге: 1
Завершенные тесты: 1
16.03.2013, 23:10     new - это операция или все таки оператор? #4
Ну да, это функция, которая оператор
3.7.4.2
The following allocation and deallocation functions (18.6) are implicitly declared in global scope in each translation unit of a program.
void* operator new(std::size_t);
void* operator new[](std::size_t);
void operator delete(void*);
void operator delete[](void*);
DU
1478 / 1054 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
16.03.2013, 23:11     new - это операция или все таки оператор? #5
есть new - ключевое слово. это оператор, и когда встречается в коде, выполняются некие действия. не вижу смысла различать оператор от операции. оператор выделения памяти выделяет память. операция выделения памяти - выделяет память.
есть еще семейство функций. сигнатуры разные. одна из них:
void* operator new (size_t size);

я бы посоветовал найти книгу
Наиболее эффективное использование C++. 35 новых рекомендаций по улучшению ваших программ и проектов
Автор: Скотт Мейерс
Правило 8. Различайте значение операторов new и delete

http://www.rsdn.ru/res/book/cpp/most_effective_cpp.xml
ilizard
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 50
16.03.2013, 23:27  [ТС]     new - это операция или все таки оператор? #6
Я тут почитала Страуструпа, в книге ни разу new оператором не называется. По книге он - операция
DU
1478 / 1054 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
16.03.2013, 23:46     new - это операция или все таки оператор? #7
можете объяснить какая разница?
что будет, если вы осознаете, что new - это оператор?
или что будет, если вы осознаете, что new - это операция?
или что это и то и другое в разных или одинаковых контекстах?
в чем разница между оператором и операцией в коде с++ программы?
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4248 / 2780 / 219
Регистрация: 12.12.2009
Сообщений: 7,109
Записей в блоге: 1
Завершенные тесты: 1
17.03.2013, 00:02     new - это операция или все таки оператор? #8
ilizard, тут от контекста зависит. new это еще и одно из ключевых слов языка (о чем писали выше).

т.е. синтаксическая конструкция new - это то, что видит транслятор, а operator new() это уже функция из стандартной библиотеки С++. И это не одно и тоже.
ilizard
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 50
17.03.2013, 00:38  [ТС]     new - это операция или все таки оператор? #9
DU, разница в том, что этот вопрос мне задал преподаватель. Спросил, что есть new. Я ответила оператор, потому что так утверждали большинство источников, и не сдала лабораторную работу.
Так что разница есть
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.03.2013, 02:08     new - это операция или все таки оператор?
Еще ссылки по теме:

К знатокам С++: это самодостаточный язык, или всё таки он зависит от Си C++
Сравнение скорости, условие или операция C++
Записать символы строк текста в обратном порядке, заменяя все вхождения подстрок «да» на «таки да» C++
C++ Для чего нужен оператор двоеточие, если два двоеточия - это оператор расширения области видимости
Тонкости терминологии: что такое оператор, операция, инструкция и кто из них operator, а кто statement? C++

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

Или воспользуйтесь поиском по форуму:
DU
1478 / 1054 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
17.03.2013, 02:08     new - это операция или все таки оператор? #10
вы сами хоть знаете разницу?
что такое операция в с++ (не важно какая) и что такое оператор (не важно какой).
Я вот не знаю разницы. Как-то их различать - ну это буквоедством заниматься. Если ваш препод такой - то я вам сочувствую. Могу только посоветовать узнать, что он считает правильным ответом на этот вопрос и озвучить его.

Еще вариант (да простят меня модераторы): задайте вопрос тут http://rsdn.ru/forum/cpp/
Только не забудьте упомянуть, что правильный ответ зависит от тараканов в голове препода.
Yandex
Объявления
17.03.2013, 02:08     new - это операция или все таки оператор?
Ответ Создать тему
Опции темы

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