C/C++編程筆記:malloc和new運算符的區別


如下是malloc()和new運算符之間的區別: html

一、調用構造函數:新調用構造函數,而malloc()則不。實際上,原始數據類型(char,int,float等)也能夠使用new進行初始化。例如,在下面的程序中打印10。ios

#include<iostream>編程

using namespace std;微信

int main()app

{函數

int *n = new int(10);學習

cout << *n;url

getchar();spa

return 0;3d

}

2.運算符與函數: new是運算符,而malloc()是函數。

3.返回類型: new返回確切的數據類型,而malloc()返回void *。

4.失敗條件:失敗時,malloc()返回NULL,其中new拋出bad_alloc異常。

5.內存:若是是新的,則從空閒存儲區中分配內存,就像在malloc()中那樣,從堆中分配內存。

6.大小:所需的內存大小是由編譯器爲new計算的,由於咱們必須手動計算malloc()的大小。

7.緩衝區大小: malloc()容許使用realloc()更改緩衝區的大小,而new則不容許

天天學點小知識,但願對你有幫助~

另外若是你想更好的提高你的編程能力,學好C語言C++編程!彎道超車,快人一步!筆者這裏或許能夠幫到你~

C語言C++編程學習交流圈子【點擊進入】微信公衆號:C語言編程學習基地

分享(源碼、項目實戰視頻、項目筆記,基礎入門教程)

歡迎轉行和學習編程的夥伴,利用更多的資料學習成長比本身琢磨更快哦!

相關文章
相關標籤/搜索