c++動態分配內存:c++new的用法教程

以下是malloc()和new運算符之間的區別

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

#include<iostream>

using namespace std;

int main()

{

int *n = new int(10);

cout << *n;

getchar();

return 0;

}

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

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

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

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

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

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

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

每天學點小知識,希望對你有幫助~

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/225337.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-09 14:43
下一篇 2024-12-09 14:43

相關推薦

發表回復

登錄後才能評論