1樓:夢中睡客
開闢記憶體空間存貯變數,比如int *p=new int
2樓:匿名使用者
申請記憶體。例如
char*psz=new char[128];
sprintf(psz,"%f", 1200/7.);
messagebox(0,psz,0,0);
3樓:匿名使用者
new 是申請動態儲存空間
⑴new可用來生成動態無名變數,
如 int *p=new int;
int *p=new int [10]; //動態陣列的大小可以是變數或常量;而一般直接宣告陣列時,陣列大小必須是常量
又如:int *p1;
double *p2;
p1=new int(12);
p2=new double [100];
l 分別表示動態分配了用於存放整型資料的記憶體空間,將初值12寫入該記憶體空間,並將首地址值返回指標p1;
l 動態分配了具有100個雙精度實型陣列元素的陣列,同時將各儲存區的首地址指標返回給指標變數p2;
對於生成二維及更高維的陣列,應使用多維指標。
以二維指標為例
int **p=new int* [row]; //row是二維陣列的行,p是指向一個指標陣列的指標
for(int i=0; i p[i]=new int [col]; //col是二維陣列的列,p是指向一個int陣列的指標 刪除這個二維陣列 for(int i = 0; i < row;i++) delete p[i]; //先刪除二維陣列的列 delete p; ⑵使用完動態無名變數後應該及時釋放,要用到 delete 運算子 delete p; //釋放單個變數 delete [ ] p;//釋放陣列變數(不論陣列是幾維) 相比於一般的變數宣告,使用new和delete 運算子可方便的使用變數。 c++中new的用法 4樓:老表有點呈 c++中new運算子用於動態分配和撤銷記憶體的運算子。 1、開闢單變數地址空間 new int; //開闢一個存放陣列的儲存空間,返回一個指向該儲存空間的地址.int *a = new int 即為將一個int型別的地址賦值給整型指標a. 2)int *a = new int(5) 作用同上,但是同時將整數賦值為5。 2、開闢陣列空間 要訪問new所開闢的結構體空間,無法直接通過變數名進行,只能通過賦值的指標進行訪問。用new可以動態開闢,撤銷地址空間。在程式設計序時,若用完一個變數,下次需要再用,可以在每次開始使用時開闢一個空間,在用完後撤銷它。 5樓:手機使用者 new int;//開闢一個存放整數的儲存空間,返回一個指向該儲存空間的地址(即指標) new int(100);//開闢一個存放整數的空間,並指定該整數的初值為100,返回一個指向該儲存空間的地址 new char[10];//開闢一個存放字元陣列(包括10個元素)的空間,返回首元素的地址 new int[5][4];//開闢一個存放二維整型陣列(大小為5*4)的空間,返回首元素的地址 float *p=new float (3.14159);//開闢一個存放單精度數的空間,並指定該實數的初值為//3.14159,將返回的該空間的地址賦給指標變數p new運算子使用的一般格式為 new 型別 [初值] 用new分配陣列空間時不能指定初值。如果由於記憶體不足等原因而無法正常分配空間,則new會返回一個空指標null,使用者可以根據該指標的值判斷分配空間是否成功。 delete運算子使用的一般格式為 delete [ ] 指標變數 例如要撤銷上面用new開闢的存放單精度數的空間(上面第5個例子),應該用 delete p; 前面用「new char[10];」開闢的字元陣列空間,如果把new返回的指標賦給了指標變數pt,則應該用以下形式的delete運算子撤銷該空間: delete pt;//在指標變數前面加一對方括號,表示是對陣列空間的操作 例 開闢空間以存放一個結構體變數。 #include #include using namespace std; struct student //宣告結構體型別student ;int main( ) 執行結果為 wang fun 10123 m 6樓:幸運夕夕 c++中new的用法有三種,具體如下: 一、new operator,也叫new表示式;new表示式比較常見,也最常用,例如: 上面這個new表示式完成了兩件事情:申請記憶體和初始化物件。 二、operator new,也叫new操作符。這兩個英文名稱起的也太絕了,很容易搞混,那就記中文名稱吧。new操作符類似於c語 言中的malloc,只是負責申請記憶體,例如: 注意: 這裡多了一個operator。這是new的第二個用法,也算比較常見吧。 三、placement new,它用於在給定的記憶體中初始化物件,也就是說你手中已有一塊閒置的記憶體,例如: 那麼現在buffer是你所擁有閒置記憶體的指標buffer = new(buffer) string("abc"); //呼叫了placement new,在buffer所指向的記憶體中初始化string型別的物件,初始值是"abc",事實上,placement new也是new表示式的一種,但是比普通的new表示式多了一個引數,當然完成的操作和返回值也不同。 因此上面new的第一種用法可以分解兩個 動作,分別為後面的兩種用法。 注意:1、使用者是無法主動呼叫建構函式的,所以需要藉助placement new,但是使用者可以主動呼叫解構函式,所以用完這些物件後,呼叫解構函式,然後用對應分配記憶體的方法去釋放記憶體。 2、事實上malloc並不一定比operatornew節省多少時間,用placement new常常是為了考慮效能,所以會配合記憶體池一起使用。 7樓:匿名使用者 new的功能是動態分配記憶體。 語法就是 new 型別名t(初值列表) 8樓: 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++) 這個語句就是給把指標付給指標的指標,看下邊的圖你就明白了; 多琢磨一下! 9樓:有界函式 推薦你看一下effictive c++,這裡面有單獨的一節是講 new 的。細緻的講不了,可以自己去看看。 c++中new到底有什麼用? 10樓: 區域性變數的儲存位置在棧內(vs下一個執行緒預設棧是1m),函式體結束就自動**。 new malloc 分配的空間在堆內,理論上是2g;如果不手動free delete,這個空間是不會被釋放的。 如果要申請的記憶體比較大,就要用new,否則使用棧空間是不可能成功的。 11樓:黑夜使者 new 在堆中分配一塊記憶體空間,一般都需要手動**,一般較大空間都用new,可操控性強, 一般的變數 等都是預設放在棧的 棧的特性是 後進先出的,只能在表尾進行操作,可控性不高 具體瞭解堆與棧的區別 請參閱下資料結構吧。。。 12樓:匿名使用者 "goforhope" 不要這麼激動.有時候你回頭看一下,會發現這些"簡單"的東西實際上內容很豐富. 13樓:匿名使用者 還敢再基礎點嗎? 這些基礎的知識,自己先看下書難道會死嗎? 清潔霜 cleaning cream 不是洗面奶 它是用於洗面奶之前一種可以在無水條件下清潔面部 的膏霜,含油量較高且多為油包水型,特別適於洗脫油性化妝成分。其作用機理是以油相組分溶解油垢及油性化妝料,以水相組分溶解水溶性汙物,從而達到清潔的目的清潔霜不僅能夠清除臉部 上一般性汙垢,而且可以有效清除... 這是一把維修安裝電工常用的鉗子,可以把電線上面的軟膠皮去除,露出裡面的銅絲,便於接線。這個鉗子是幹什麼用的啊 使用鉗子是用右抄手操作。將鉗口朝bai 內側,便於控制鉗切du部位,用小指伸在兩zhi鉗柄中間來dao抵住鉗柄,張開鉗頭,這樣分開鉗柄靈活。電工常用的鋼絲鉗有150 175 200及250m... otg技術就是在沒有host的情況下,實現裝置間的資料傳送。例如數碼相機直接連線到印表機上,通過otg技術,連線兩臺裝置間的usb口,將拍出的相片立即列印出來 也可以將數碼照相機中的資料,通過otg傳送到usb介面的行動硬碟上,野外操作就沒有必要攜帶 昂貴的儲存卡,或者背一個便攜電腦。通過otg技術...清潔霜是幹什麼用的,精油是幹什麼用的?
這個鉗子是幹什麼用的,這個鉗子是幹什麼用的啊
otg線是幹什麼用的,OTG線是幹什麼用的?