c 的new返回值是指標是吧,java的new返回值是什麼

2021-08-16 03:10:26 字數 1129 閱讀 6914

1樓:匿名使用者

1.new的作用是從自由儲存為 類 的物件或物件陣列分配記憶體,並將已適當分類的非零指標返回到物件。

比如:char * pchar= new char[10];

delete pchar;

例子中動態分配了10個char型別的記憶體給了pchar,來構成一個陣列。需要注意的是,分配陣列採用 ,如果只是單個的只要new char就可以了。

2.注意事項:

(1)使用 delete 運算子可解除分配使用 new 運算子分配的記憶體。而且new和delete是成對出現的。只出現一個是錯誤的或不規範的寫法,即使能編譯通過,也會有安全隱患,可能會造成記憶體洩露;

(2)使用的new與delete要相同。也就是說如果你在 new表示式中使用了 ,你必須在對應的 delete 表示式中使用 。如果你在 new 表示式中沒有使用 ,你也不必在對應的 delete 表示式中使用 。

(3)使用 new 為 c++ 類物件分配記憶體時,將在分配記憶體後呼叫物件的建構函式。所以如果是自己寫的類的話,最好自己寫個建構函式,這樣會比較好。

3.擴充套件資料參見

2樓:

new 的作用是動態開闢空間,一般的形式估計你也會了。我就直接給你講題吧

你這個函式的作用是動態建立一個(n1+1)*(n2+1)的二維陣列(注:在c++中 直接用new(a)這種形式是錯誤的)

首先明白所謂指標就是存放地址的變數,這一點最重要double **a=new double*[n1+1];

這句話的意思是開闢以一塊連續的空間用來儲存指標變數(指標的指標),它的大小是n1+1。*a是指標,那麼**a就是存放指標的指標。那個new後的double* 相當於一個強制轉換。

因為用new時和陣列的名字無關所以[n1+1]前的陣列名可以省略。這個類比於new double[3];

for(i=0;i<=n1;i++)

a[i]=new double[n2+1];

這個語句就是給把指標付給指標的指標,看下邊的圖你就明白了;

多琢磨一下!

3樓:_小_蘇

動態分配記憶體 相當於malloc

C 中的new返回值是指標嗎?Java中new返回值是什麼

c 中new運算子用於動態分配和撤銷記憶體的運算子。1 開闢單變數位址空間 new int 開闢乙個存放陣列的儲存空間,返回乙個指向該儲存空間的位址.int a new int 即為將乙個int型別的位址賦值給整型指標a.2 int a new int 5 作用同上,但是同時將整數賦值為5。2 開闢...

什麼是函式返回值,請問PHP中函式的返回值是什麼意思?請詳細解釋下 !!

函式返回值就是你所呼叫的函式返回給你的值。比如說void fun int n,int m 前面的void就說明這個函式是沒返回值的。比如int fun int m 時,這個函式執行以後要返回一個整型數。一 一般的情況,c語言預設的返回值的型別是int整形,其他的函式看其函式前的型別就可以知道這個函式...

c怎麼輸出函式的返回值

int fun void main cout c 函式返回值問題 1 函式的返回值是通過函式中的return語句獲得的。return語句將被呼叫函式中的乙個確定值帶回主調函式中去。如果需要從被呼叫函式帶回乙個函式值 供主調函式使用 被呼叫函式必須包含return語句。如果不需要從被呼叫函式帶回函式值...