Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
BESSON_off
3 / 0 / 0
Регистрация: 08.07.2013
Сообщений: 351
1

Пользовательский operator new(size_t)

18.06.2014, 20:01. Просмотров 269. Ответов 2
Метки нет (Все метки)

Всем привет!
Подскажите пожалуйста, как так получается, что при перегрузке operator new (например, в пользовательском классе) дальнейший его вызов обходится без параметра size_t.
Например код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Temp {
public:
static void* operator new(size_t, new_handler);
...
};
 
void func () {...}
 
int main()
{
Temp* ptr = new Temp(func);
...
return 0;
}
Все работает, но, как видно из примера, в строке new Temp(func) параметр size_t как-то не понадобился...

Почему так?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.06.2014, 20:01
Ответы с готовыми решениями:

Беззнаковый тип size_t: чем различие между size_t, uintptr_t, ptrdiff_t и intptr_t?
В чем вообще его смысл? Разве запись double a = {1,2,3}; int i = 1;...

Class & operator's |Error: undefined reference to operator
Компилирует нормально, но когда хочу использовать оператор выдает...

operator char() или operator int()
Здорова госпдо! Снова ничо не ясно как всегда. Разбираю программку из книги...

Вызов operator[] через operator[] const
Перелистывал Майерса, наткнулся на код, подскажите пожалуйста почему он...

Реализация operator + через operator +=
внутри следующей темы возник вопрос, ответ на который так и не был получен:...

2
Nick Alte
Эксперт С++
1647 / 1019 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
18.06.2014, 20:25 2
Это потому что в параметр передают размер создаваемого объекта, а компилятор его и сам знает получше программиста в каждом случае вызова new.
0
BESSON_off
3 / 0 / 0
Регистрация: 08.07.2013
Сообщений: 351
19.06.2014, 11:50  [ТС] 3
Как то очень абстрактно... Поподробней реализацию можно?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2014, 11:50

Перегрузить операторы operator+() и operator*() в пользовательском классе "Комплексное число"
Здравствуйте. Предлагаю заняться арифметикой. Создал прослейший класс,...

size_t и npos
Здраствуйте! Тут в одной теме нашёл код #include<string> #include<iostream>...

size_t в операторе for
Здравствуйте. Возникла проблема с типом size_t. Данный цикл почему то...


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

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

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