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

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

Войти
Регистрация
Восстановить пароль
 
BESSON_off
 Аватар для BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 336
#1

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

18.06.2014, 20:01. Просмотров 219. Ответов 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 как-то не понадобился...

Почему так?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.06.2014, 20:01     Пользовательский operator new(size_t)
Посмотрите здесь:

Conversion from 'size_t' to 'int' и еще кое-что C++
size_t в операторе for C++
size_t и npos C++
C++ uint32, size_t и подобные им
C++ Предупреждение(потеря данных из uint в size_t)
Malloc для size_t C++
C++ А где size_t декларирован?
Что такое Size_t C++
C++ Типы size_t перевести в string
Ошибка при использовании size_t C++
В чем разница между uinptr_t, size_t, ptrdiff_t C++
C++ Вызов operator[] через operator[] const

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nick Alte
Эксперт С++
1599 / 991 / 117
Регистрация: 27.09.2009
Сообщений: 1,910
Завершенные тесты: 1
18.06.2014, 20:25     Пользовательский operator new(size_t) #2
Это потому что в параметр передают размер создаваемого объекта, а компилятор его и сам знает получше программиста в каждом случае вызова new.
BESSON_off
 Аватар для BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 336
19.06.2014, 11:50  [ТС]     Пользовательский operator new(size_t) #3
Как то очень абстрактно... Поподробней реализацию можно?
Yandex
Объявления
19.06.2014, 11:50     Пользовательский operator new(size_t)
Ответ Создать тему
Опции темы

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