С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
ilizard
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 50
#1

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

16.03.2013, 23:02. Просмотров 1243. Ответов 9
Метки нет (Все метки)

В большинстве интернет-источниках написано, (взять хоть википедию (да, я понимаю, что там много неправильной информации)).
Но действительно, если вбить в поиск new c++ почти везде написано, что это оператор.
Но ведь это операция?? Или я что то путаю? Или разницы нет?
Помогите, я уж совсем запуталась.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.03.2013, 23:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос new - это операция или все таки оператор? (C++):

К знатокам С++: это самодостаточный язык, или всё таки он зависит от Си - C++
Объясните мне пожалуйста, ибо я не догоняю... Я изучаю С++, языка Си я не знаю. Читать родоночальника языка слишком для меня хардова,...

Для чего нужен оператор двоеточие, если два двоеточия - это оператор расширения области видимости - C++
для чего нужен оператор двоеточие ( : ), если два двоеточия( :: ) - это оператор расширения области видимости.

да я не знаток но все таки: не понимаю почему ругается на cout - C++
я думаю вам не составит труда ответить

Как же все-таки лучше всего перегружать операторы? - C++
1. Нужно ли использовать friend там, где это возможно? (или не стоит злоупотреблять где-нибудь?) 2. Стоит ли при перегрузке бинарного...

Записать символы строк текста в обратном порядке, заменяя все вхождения подстрок «да» на «таки да» - C++
Прошу о помощи. Я смог создать файл но вот записать символы в обратном порядке никак не получается. #include "stdafx.h" #include...

Операция ИЛИ - C++
Добрый вечер) Я новичок в СИ поэтому если вопрос глупый не пинайте) Возможно ли сделать подобную операцию в СИ: IF (a == 3 ИЛИ 4) {...

9
Kastaneda
Jesus loves me
Эксперт С++
4697 / 2901 / 238
Регистрация: 12.12.2009
Сообщений: 7,389
Записей в блоге: 2
Завершенные тесты: 1
16.03.2013, 23:05 #2
"new" - это оператор, а, например, "выделение памяти" - это уже операция (ну точнее там последовательность операций).
0
ValeryS
Модератор
6729 / 5138 / 485
Регистрация: 14.02.2011
Сообщений: 17,246
16.03.2013, 23:05 #3
по моему это вообще функция
0
Kastaneda
Jesus loves me
Эксперт С++
4697 / 2901 / 238
Регистрация: 12.12.2009
Сообщений: 7,389
Записей в блоге: 2
Завершенные тесты: 1
16.03.2013, 23:10 #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*);
1
DU
1484 / 1130 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
16.03.2013, 23:11 #5
есть new - ключевое слово. это оператор, и когда встречается в коде, выполняются некие действия. не вижу смысла различать оператор от операции. оператор выделения памяти выделяет память. операция выделения памяти - выделяет память.
есть еще семейство функций. сигнатуры разные. одна из них:
void* operator new (size_t size);

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

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

т.е. синтаксическая конструкция new - это то, что видит транслятор, а operator new() это уже функция из стандартной библиотеки С++. И это не одно и тоже.
0
ilizard
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 50
17.03.2013, 00:38  [ТС] #9
DU, разница в том, что этот вопрос мне задал преподаватель. Спросил, что есть new. Я ответила оператор, потому что так утверждали большинство источников, и не сдала лабораторную работу.
Так что разница есть
0
DU
1484 / 1130 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
17.03.2013, 02:08 #10
вы сами хоть знаете разницу?
что такое операция в с++ (не важно какая) и что такое оператор (не важно какой).
Я вот не знаю разницы. Как-то их различать - ну это буквоедством заниматься. Если ваш препод такой - то я вам сочувствую. Могу только посоветовать узнать, что он считает правильным ответом на этот вопрос и озвучить его.

Еще вариант (да простят меня модераторы): задайте вопрос тут http://rsdn.ru/forum/cpp/
Только не забудьте упомянуть, что правильный ответ зависит от тараканов в голове препода.
0
17.03.2013, 02:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.03.2013, 02:08
Привет! Вот еще темы с ответами:

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

Логическая операция ИЛИ - C++
Добрый день, хотелось бы узнать как ввести логическое ИЛИ при наборе кода, а то ведь НЕ и И вводится довольно легко Shift + 1 и Shift + 7 +...

оператор -> что это? - C++
Доброго времени суток! прошу привести понятный пример использования оператора ->. нашел только в вики кое что :Structure dereference...

Оператор if и логическая операция И (AND) && - C++
Вод подскажите что будет быстрей обрабатываться процессором: if(!a&&!b) { a+b; } или


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

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

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