c++中,new的用法很靈活,這裡進行了簡單的總結:
" `) x5 t# d/ s# v) v9 n w! j
1. new() 分配這種型別的乙個大小的記憶體空間,並以括號中的值來初始化這個變數;
. u* t, v# ~% u
2. new 分配這種型別的n個大小的記憶體空間,並用預設建構函式來初始化這些變數;
8 a6 r i) `6 g% m l
#include
#include
using namespace std;
) @8 b' j- i, f w$ q$ z
int main()
7 u) m4 |* b8 e' p: v
輸出結果: h
hello
; p0 x% z! [5 v8 j; l! ~; ^& d/ /
3. 當使用new運算子定義乙個多維陣列變數或陣列物件時,它產生乙個指向陣列第乙個元素的指標,返回的型別保持了除最左邊維數外的所有維數。例如:
int *p1 = new int[10];
返回的是乙個指向int的指標int*
+ l$ u; a+ [0 u8 k
int (*p2)[10] = new int[2][10];
new了乙個二維陣列, 去掉最左邊那一維[2], 剩下int[10], 所以返回的是乙個指向int[10]這種一維陣列的指標int (*)[10].
int (*p3)[2][10] = new int[5][2][10]; new了乙個三維陣列, 去掉最左邊那一維[5], 還有int[2][10], 所以返回的是乙個指向二維陣列int[2][10]這種型別的指標int (*)[2][10].
#include
#include
using namespace std;
- @. q b$ f: [( h
int main() ; d* ~
delete a; delete b; delete c;
delete d; delete e; delete f;
5 ]5 h0 s" f3 g- r- d. b8 r/ j
}
& y6 r1 l0 j& i% r6 f& c1 a
輸出結果:
int *
( }" q# ]" u% v) p! /8 _" y! ]
int *
int (*)[2]
int (*)[2]
int (*)[2][3]
$ v/ u( a: p& [
int (*)[2][3]
C 中 new的用法
先放這兒,有時間了,在作詳細整理.c new用法的正確方法應該如何操作?在這篇文章中我們將會根據其兩種不同的含義分別介紹一下它的影音方法,希望能給大家帶來一些幫助。c 程式語言中有一 種叫做new的術語。不過這一概念是比較模糊的,有些人把它理解為new函 數,但是有的人又會把它理解為new運算子。那...
C 中new的用法
1 開闢單變數位址空間 new int 開闢乙個存放陣列的儲存空間,返回乙個指向該儲存空間的位址.int a new int 即為將乙個int型別的位址賦值給整型指標a。int a new int 5 作用同上,但是同時將整數賦值為5。2 開闢陣列空間 要訪問new所開闢的結構體空間,無法直接通過變...
C 中new的用法
new int 開闢乙個存放整數的儲存空間,返回乙個指向該儲存空間的位址 即指標 new int 100 開闢乙個存放整數的空間,並指定該整數的初值為100,返回乙個指向該儲存空間的位址 new char 10 開闢乙個存放字元陣列 包括10個元素 的空間,返回首元素的位址 new int 5 4 ...