Почему new не требует приведения к указателю, даже если это требуется malloc?

Определение new в заголовке :

 void* operator new(size_t);

И определение malloc следующее:

 void* malloc(size_t);

Теперь, поскольку C++ является строго типизированным языком, он требует от программиста приведения для преобразования указателя void* в требуемый программисту тип... В malloc мы должны выполнить cast, но не в new, хотя оба возвращают указатель void* Почему?

11
задан Peter Mortensen 20 May 2015 в 17:41
поделиться