C什麼時候用new,什麼時候不用new

2021-03-04 05:12:22 字數 1885 閱讀 4085

1樓:砍侃看

new和不new的區別是型別分配的記憶體位置。

不new的型別物件記憶體分配是在棧區,這個地方比較小,一般只有幾m的空間。一般對於內建型別比如int、char等如果需要的記憶體不多的情況下,可以不用new。這時候的記憶體會在當前函式結束後自動釋放。

需要new的時候一般對於複雜型別,這時候記憶體分配是在堆區。比如自定義的類型別,或者需要大量記憶體空間的時候,比如你需要乙個10000個int的陣列,這時候你就需要new一下了。new的物件記憶體是需要我們手動釋放的,否則會造成記憶體洩露。

以上是我的個人理解,僅供參考。

2樓:匿名使用者

建立不在棧上的新物件都應該用new

c++中 new 在什麼時候用?? 為什麼 class c = new class報錯

3樓:匿名使用者

1>class c=new class

new class 表示在堆疊中建立乙個class類變數,而要訪問這個變數,必須通過指標來訪問,因此

應該改為:class *c=new class;

2>請高手解釋下 class *c = new class ; class *c ; class c ;

第乙個是在堆疊中建立class型別的變數並用指向class類變數的指標指向它

第二個是建立乙個指向class型別變數的指標

第三個是建立class型別的變數

3>建議在類、變數、函式名等命名時盡量不要與關鍵字相似,最好去找一些命名規則來看一下,其實命名是很有講究的,像你所提問題中的class最好改為cclass這是因為類的命名規則一般前面都會加乙個「c」以表示這是乙個類。

4樓:匿名使用者

new返回的是乙個

指標,所以必須用指標接收

class *c = new class ; // 定義乙個class類的指標c,建立乙個class類物件,並賦給這個指標

class *c ; // 定義乙個class類指標c

class c ; // 定義乙個class類物件

物件呼叫屬性用.操作符,指標呼叫屬性用->操作符,第三種在實際應用中不常用,因為涉及到多台繼承等問題都用指標解決。

5樓:追夢人奮鬥著

new主要為指標分配記憶體,不能亂用,類建立時不需要new的,跟純粹的物件導向的語言不同。比如:

int * a=new int;

在連結串列中經常用到new為新建的struct或class非配記憶體空間,並用指標接收

6樓:匿名使用者

new函式是返回的是乙個指標,當然必需賦值給乙個指標.

c++什麼時候一定要用new分配堆記憶體

7樓:砍侃看

一是需要一塊大記憶體的時候,一般棧的大小在8m左右(具體看編譯器,不過一般都不會太大),所以需要大記憶體時需要new。

二是給全域性或作用域較大的指標分配物件時。

三是一般自定義的類物件用new,也不是必須用new。

以上是我個人的體會,不一定很準確,僅作參考。

8樓:幻夢·人生

new是c++語法所規定的堆分配空間函式。

malloc是c語法所規定的對分配空間函式。

差別在於,c++是物件導向進行程式設計的。由於物件是包含建構函式的,在建立物件時,應當呼叫其建構函式,對其內部的資料進行初始化。new可以在分配空間的同時呼叫建構函式對此段空間進行初始化。

而malloc只能夠分配一段空間,不能呼叫建構函式。

所以在c++語言的開發中,要求使用new操作符進行堆空間的分配。

C語言中,什麼時候用float,什麼時候用double?麻煩順便舉個例子,謝謝

一般用float就可以滿足要求,float和double都用來定義浮點數,也就是小數,兩者就是有效位數不同,float為7 8位,double是15 16位,看你需要什麼精確度的數了 再不清楚的話,就隨便找個數,分別以float和double格式輸出,看看輸出的數有什麼區別就懂了 要看數的大小了,d...

什麼時候用這個符號,C語言什麼時候用這個符號

表達特殊含義或引用時 要求必須在英文環境下使用的字元,比如程式設計 在excel中什麼時候用符號 符號是單元格絕對引用符號,在excel中寫公式或者是寫函式的時候會運用到。具體運用如下 1 開啟excel 要計算99乘法表。2 在第乙個單元格輸入b 1,注意1前面的 符號,說明第一行鎖定,不會變。3...

holiday什麼時候是複數,什麼時候不用加S

其單數形式指包括含一天或一次的假期,複數形式指一次以上或一天以上的假期。holiday的基本意思是 假期 指源於宗教的 節日,假日 也可指不用去上班 上學等的 休假日 假期 還可指 出外度假時期 其單數形式指包括含一天或一次的假期,複數形式指一次以上或一天以上的假期。holiday作 休假期 解時常...