Для тех, кто отрицал - что не так с этим ответом? Кажется, совершенно правильно.
трел на подпись нового оператора. Который:
void* operator new (std::size_t size) throw (std::bad_alloc);
Но когда мы используем этот оператор, мы никогда не используем приведение. т.е.
int *arr = new int;
Итак, как C ++ преобразует указатель типаvoid*
вint*
в этом случае. Потому что дажеmalloc
возвращаетvoid*
и нам нужно явно использовать приведение.