در 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
این امکان رو نداره.
هیچ پژوهش انسانی نمیتواند ادعای علمی بودن داشته باشد، مگر اینکه از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)