Cpp new和delete的應用

2021-07-10 08:50:18 字數 464 閱讀 1223

一.new的用法:

1. new() 分配這種型別的乙個大小的記憶體空間,並以括號中的值來初始化這個變數;

2. new 分配這種型別的n個大小的記憶體空間,並用預設建構函式來初始化這些變數;

例子:#include

#include

using namespace std;

int main(){

char * p=new char("hello");

//error分配乙個char(1位元組)的空間,

//用"hello"來初始化,這明顯不對

char* p=new char[6];

//p="hello";

//不能將字串直接賦值給該字元指標p,原因是:

//指標p指向的是字串的第乙個字元,只能用下面的

//strcpy

strcpy(p,"hello");

cout<<*p<

delete和delete 的區別

剛才在寫一段例子程式的時候,發現對於乙個指標型別的陣列t p,delete p和delete p的效果一樣。看了一下c primer和c programming language都沒有找到解釋,於是在網路上搜尋一下,發現了很好的解釋。整理一下 c 告訴我們在 用 new 分配的單個物件的記憶體空間的...

delete和delete 的區別

c 告訴我們在 用 new 分配的單個物件的記憶體空間的時候用 delete,用 new 分配的一組物件的記憶體空間的時候用 delete。樓主的這個問題提得很好。很多人注意到了這個問題,但是卻不清楚為什麼要這樣做,不這樣做行不行。關於 new 和 delete,其中又分為兩種情況 1 為基本資料型...

delete 和 delete 的區別

情景 今天在檢視別人寫的 時發現有類似如下 printer info 4 info4 printer info 4是乙個普通的結構 即沒寫構造和析構等函式的純資料的struct info4 printer info 4 new byte dwneeded delete info4 好奇這一句的寫法,...