در C هنگامی که فضایی رو از حافظهی heap درخواست میکنیم، هیچ نوعی برای اون در نظر نمیگیریم. فقط تعدادی بیت پشت سر هم رو از حافظه میگیریم. بعد با کد برنامهنویسی نوع اون رو تعیین میکنیم
void* buffer;
char *s;
buffer = malloc(10);
s = buffer;
s[0] = 'H';
اما در C++ همون وقتی که یه حافظه میگیریم نوعش رو هم تعیین میکنیم.
char *s;
c = new char[10];
به طور کلی new خوشد با malloc پیادهسازی شده و کنترلهای بیشتری روش اعمال میشه. بنابراین به عنوان یک برنامهنویس اگه نیازتون رو برآورده میکنه از new استفاده کنین.
استفاده از روش C گاهی امکانات بیشتری به برنامهنویس میده ولی کنترل بیشتری رو هم درخواست میکنه.
تفاوت دیگه امکان سربارگذاری new هست که malloc این امکان رو نداره.
هیچ پژوهش انسانی نمیتواند ادعای علمی بودن داشته باشد، مگر اینکه از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)