亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C++入門(3)——使用new分配內(nèi)存

2019-11-06 06:29:17
字體:
供稿:網(wǎng)友

指針和數(shù)字

指針不是整型,雖然計算機通常把地址當作整數(shù)處理。指針描述的是位置,對兩個地址相乘并沒有意義。因此,不能簡單地將整數(shù)賦給指針

使用new來分配內(nèi)存

對指針有一定了解之后,我們來看看它如何實現(xiàn)在程序運行時分配內(nèi)存。前面我們將指針初始為變量地址只是為了描述指針的作用,而變量是在編譯時分配的有名稱的內(nèi)存。指針真正的用處在于,在運行階段分配未命名的內(nèi)存來儲存值。在C語言中,可以使用庫函數(shù)malloc() 來分配內(nèi)存,在C++中仍然可以這么做,但有更好的方法new

int *a = new int;

new int告訴程序,需要適合存儲int的內(nèi)存。new運算符根據(jù)類型來確定需要多少字節(jié)的內(nèi)存。然后它找到這樣的內(nèi)存,并返回其地址,將地址賦給a,a是被聲明指向int的指針,現(xiàn)在*a是存儲在那里的值。我們來看一下具體應(yīng)用

#include <iostream> int main() { using namespace std; int nights = 1001; int * pt = new int; // allocate space for an int *pt = 1001; // store a value there cout << "nights value = "; cout << nights << ":location = " << &nights << endl; cout << "int values = " << *pt << ": location = " << pt << endl; double * pd = new double; // allocate space for a double *pd = 100001.0; // store a double there cout << "double value = " << *pd << ":location = " << pd << endl; cout << "location of pointer pd: " << &pd << endl; cout << "size of pt = " << sizeof(pt); cout << ":size of *pt = " << sizeof(*pt) << endl; cout << "size of pd = " << sizeof(pd); cout << "size of *pd = " << sizeof(*pd) << endl; return 0; }

結(jié)果如下

nights value = 1001:location = 0x7ffdd5606704 int values = 1001: location = 0x1034c20 double value = 100001:location = 0x1035050 location of pointer pd: 0x7ffdd5606708 size of pt = 8:size of *pt = 4 size of pd = 8size of *pd = 8

從中可以看到,雖然變量night 和指針*pt 指向的變量值相同,但一個是編譯時由系統(tǒng)分配的地址,另一個是我們通過 new 由系統(tǒng)分配的地址。而且我們發(fā)現(xiàn),對于指針pd,我們還可以對它再求地址,就得到這個指針變量的地址。(可以理解為指針管理了一個變量的兩個方面——地址和值,而指針自己也有在內(nèi)存中的存儲地址)

使用delete釋放內(nèi)存

當需要內(nèi)存時,可以使用new來請求,這只是C++內(nèi)存管理數(shù)據(jù)包中有魅力的一方面。另一方面是delete 運算符在使用完內(nèi)存后將其釋放給內(nèi)存池(而不是其他語言的垃圾回收)

int *ps = new int; //allocate memory with new delete ps; // free memory with delete when done

這將釋放ps指向的內(nèi)存,但不會刪除指針ps本身,例如可以將ps重新指向另一個新分配的內(nèi)存塊。一定要配對地使用newdelete ,否則將發(fā)生內(nèi)存泄漏(memory leak)。也就是說,被分配的內(nèi)存再也無法使用了。

使用new來創(chuàng)建動態(tài)數(shù)組

如果程序只需要一個值,則可能會聲明一個簡單變量,但對于大型數(shù)據(jù)(如數(shù)組,字符串和結(jié)構(gòu)),應(yīng)使用new。假如一個程序,它是否需要數(shù)組取決于運行時用戶提供的信息。如果通過聲明來創(chuàng)建數(shù)組,則在程序被編譯時將為它分配內(nèi)存空間。不管程序最終是否使用數(shù)組,數(shù)組都在那里,它浪費了內(nèi)存。 下面來看一下使用new創(chuàng)建動態(tài)數(shù)組

int *arr = new int [10] // get a block of 10 ints delete [] arr; // 方括號代表釋放整個數(shù)組

new運算符返回第一個元素的地址,在這個例子中,該地址被賦給指針arr。那么如何訪問其中的元素呢?第一個元素不成問題,由于arr指向數(shù)組的第一個元素,還有9個元素,只需要把指針當作數(shù)組名使用就可以,arr[0] 是第一個元素,以此類推。(這里不需要*號)

#include <iostream> int main() { using namespace std; double *p3 = new double[3]; p3[0] = 0.2; // space for 3 doubles p3[1] = 0.5; // treat p3 like an Array name p3[2] = 0.8; cout << "p3[1] is " << p3[1] << "./n"; p3 = p3 + 1; cout << "Now p3[0] is " << p3[0] << " and "; cout << "p3[1] is " << p3[1] << "./n"; p3 = p3 - 1; // point back to beginning delete []p3; // free the memory return 0; }

我們看一下輸出

p3[1] is 0.5. Now p3[0] is 0.5 and p3[1] is 0.8.

從中可以知道,指針p3 被當作數(shù)組名來使用,p3[0] 為第一個元素,依次類推。將p3加1導(dǎo)致它指向第二個元素而不是第一個,將它減1之后,指針指向原來的值,這樣程序便可以給delete[]提供正確的地址。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

激情综合网五月激情| 五月婷婷视频在线| 亚洲欧美天堂网| 国产视频观看一区| 日韩欧美国产免费播放| 国产巨乳在线观看| 色综合久久久久久久| 成人av资源| 精品一区二区三区影院在线午夜| 久久天天久久| 国产精品久久久久9999爆乳| 午夜剧场在线免费观看| 国产九色91回来了| 女性生殖扒开酷刑vk| 亚洲免费影视第一页| 欧美**室bdsm视频| 91精品在线一区| 国产乱码精品一区二区亚洲| 久久久久久久久久久久久女过产乱| 老司机午夜精品| 欧美日本高清视频在线观看| 欧美电影一区| av日韩在线免费| 波多一区二区| 91精品国产91久久久久久一区二区| 亚洲永久精品视频| 精品伊人久久久| 欧美高清中文字幕| 亚洲国产高清福利视频| 亚洲综合在线视频| 国产精品网红福利| 亚洲天堂中文字幕| 又嫩又硬又黄又爽的视频| 精品网站在线看| 九九热线有精品视频99| 成人欧美亚洲| 国产亚洲综合精品| 亚洲人成网站在线观看播放| 国产成人综合视频| 精品人妻一区二区三区免费看| 成人黄色在线播放| 成年在线播放小视频| 精品国产欧美| 国产天堂av在线| 中文字幕欧美人与畜| 麻豆传媒视频在线| 男女免费视频网站| 8x8x拔插拔插影库永久免费| 欧美另类交视频| 91精品啪在线观看国产60岁| 日韩在线视频免费看| 精品国产伦一区二区三| 韩国三级av在线免费观看| 黄色直播在线| 国产原创popny丨九色| 日韩在线看片| 最近中文字幕在线免费观看| 成人av网址在线观看| 免费三片60分钟| 在线欧美小视频| 日产精品一线二线三线芒果| 牛人盗摄一区二区三区视频| 亚洲精品国产精品乱码在线观看| 2019中文字幕在线视频| 114国产精品久久免费观看| 福利资源在线久| 日韩不卡av在线| 亚洲а∨天堂久久精品2021| 日韩1区2区日韩1区2区| 男人和女人啪啪网站| 日韩欧美精品中文字幕| 亚洲人成电影在线观看天堂色| 日韩国产欧美精品一区二区三区| www.青青青| 久久福利视频网| 国产成人在线观看| 美女网站视频久久| 欧美人xxx| 五月天婷婷综合网| 国产午夜精品久久久久久免费视| 一级做a爰片久久毛片美女图片| 亚洲精品免费电影| 一区二区三区在线视频看| 厕沟全景美女厕沟精品| 女人18毛片水真多免费播放| 国产精品国产三级国产专业不| 91九色老女人| 日本中文字幕二区| 美女精品网站| 超碰aⅴ人人做人人爽欧美| 中文娱乐网av| 亚洲成人性视频| 亚洲一区二区美女| 免费成年人高清视频| 午夜视频免费看| 免费精品视频一区二区三区| 久久se这里有精品| 国产真实精品久久二三区| 自拍偷拍亚洲激情| 亚洲精品国产91| 麻豆精品国产传媒| 亚洲七七久久综合桃花剧情介绍| 成人一区二区三| 初高中福利视频网站| 久久av在线| 国产精品毛片a∨一区二区三区|国| 欧美日韩国产经典色站一区二区三区| 免费国产黄色片| 国产无套粉嫩白浆内谢的出处| 浅井舞香一区二区| 日韩欧美精品免费在线| 87福利电影网| 91麻豆精品91久久久久久清纯| 日韩成人av网站| 亚洲视频精品一区| 国产成人jvid在线播放| 亚洲欧美成人一区二区三区| 国产精品久久久国产盗摄| 在哪里可以看毛片| 欧美国产综合在线| 亚洲高清久久久久久| 国产大学生粉嫩无套流白浆| 亚洲欧美一区在线| 欧美体内she精视频| 精品一区三区| 亚洲欧美日韩精品在线| 亚洲第一网站男人都懂| 欧美hdxxx| 一本久久a久久精品vr综合| 日韩欧美a级成人黄色| 热国产热中文视频二区| 日韩国产在线一| 久久久久综合| 在线观看天堂| 精品国产美女福利到在线不卡| 日韩黄色片视频| 国产3级在线观看| 日本免费www| 欧美午夜精品久久久久久孕妇| 成人一对一视频| 中文字幕国产精品| 中文.日本.精品| 亚洲麻豆精品| 青青草免费观看完整版高清| 一级欧洲+日本+国产| 91免费在线视频| 亚洲一区二区在线视频| 2023国产在线观看| 樱桃成人精品视频在线播放| 精品乱码一区内射人妻无码| 91亚洲永久精品| 欧美xxxxbb| 国产一级揄自揄精品视频| 亚洲经典一区二区三区| 国产精选第一页| 久草综合在线观看| 中国一级特黄视频| 亚洲免费网址| 国产又黄又爽又猛免费app| 伦理片一区二区| 99国产在线视频| av观看成片免费网站| 日韩亚洲欧美一区二区三区| 国产91精品在线播放| 91麻豆产精品久久久久久| 亚洲视频精品在线观看| 久久久久九九九九| 国产一区二区精品久| 在线无限看免费粉色视频| 97人妻精品一区二区免费| 国产视频在线免费观看| y111111国产精品久久久| 精品国产一区二区三区2021| 国产mv免费观看入口亚洲| 玖玖国产精品视频| 日韩精品视频一区二区在线观看| 久久国产日本精品| 变态黄色小视频网站| 日韩精品亚洲人成在线观看| 5g影院5g电影天天爽快| 亚洲无码精品一区二区三区| 欧美xxxxxx| 亚洲精品成人区在线观看| 疯狂做受xxxx欧美肥白少妇| 91蜜桃免费观看视频| 国产九九精品视频| 青青色在线视频| 日韩在线导航| 久久久精品久久久久久96| 欧美日韩裸体免费视频| 中文字幕一区二区三区日韩精品| 国产精品男女猛烈高潮激情| 国产在线美女| 一区二区免费在线| 国产美女作爱全过程免费视频| 亚洲午夜电影| 久热re这里精品视频在线6| 日韩成人av一区二区| 一级片黄色录像| 污污内射在线观看一区二区少妇| 亚洲欧美日本一区| 九色视频网站在线观看| 国产日本一区二区三区| 免费观看精品视频| 精品国产自在精品国产浪潮| 91在线精品一区二区| 精品毛片在线观看| 欧美在线影院| 国内精久久久久久久久久人| av在线播放网站| 国产一区二区主播在线| 精品视频麻豆入口| 亚洲欧美日韩精品一区二区| 不卡在线视频中文字幕| 日本毛片在线观看| 亚洲一区成人| 日本在线视频站| **爰片久久毛片| 无码人妻aⅴ一区二区三区玉蒲团| 久久久精品成人| 亚洲大尺度视频| 久久精品一区二区免费播放| 亚洲爆乳无码精品aaa片蜜桃| 第四色亚洲色图| 成人在线免费看黄| 少妇免费毛片久久久久久久久| 国产视频一视频二| 久久网福利资源网站| 国产在线a不卡| 欧美一二三区在线| 岛国精品一区二区三区| 成人自拍视频在线| 亚洲色图欧洲色图| 欧美日韩激情一区二区三区| 天天爽夜夜爽视频| 久久综合视频网| 亚洲精美视频| 欧美日本一区二区视频在线观看| 亚洲麻豆精品| 国模私拍视频在线| 亚洲性生活网站| 韩国毛片一区二区三区| 伊人久久大香线蕉av一区| 日韩精品视频在线观看网址| 国产福利在线看| 人妻精品一区一区三区蜜桃91| 特黄aaaaaaaaa毛片免费视频| 四虎在线免费看| 日韩国产精品一区二区| 五月婷婷丁香激情| 日韩av第一页| 亚洲国产午夜伦理片大全在线观看网站| 18禁免费无码无遮挡不卡网站| 神马电影在线观看| 成人激情视屏| 欧美18—20岁hd第一次| 色www免费视频| 日产精品久久久一区二区福利| 午夜精品福利一区二区蜜股av| 久久精品一二三四| 久草免费在线色站| 夜先锋资源网| 亚洲无码精品在线观看| 国产福利在线免费| 亚洲成人精品在线观看| 尤物在线精品| 成人动漫在线观看视频| 91青青国产在线观看精品| 99在线视频免费观看| 成人性生交大片免费看视频r| 亚洲国产午夜伦理片大全在线观看网站| 久久久久久久久久久久久久久| 国产精品一区二区你懂得| 亚洲精品综合一区二区三区| 亚洲乱码国产乱码精品精| 日韩毛片高清在线播放| 韩国精品视频在线观看| 亚洲韩国欧洲国产日产av| 熟女少妇内射日韩亚洲| 国产欧美日韩综合| 欧美一级电影网站| 狠狠色丁香久久婷婷综| 性做久久久久久久久久| 国产精品资源| 中文字幕网址在线| 女人体1963| 亚洲天堂免费在线观看视频| 一区二区蜜桃| 亚洲国产高清在线| 欧美成人三级在线播放| 中文字幕欧美激情| 亚洲国内精品在线| 亚洲黄色激情视频| 亚洲天堂一区二区三区| 日韩毛片在线免费观看| 国产清纯白嫩初高中在线观看性色| 国产精品特级毛片一区二区三区| 极品白嫩的小少妇| 一区二区三区欧美久久| 精品少妇人妻一区二区黑料社区| 亚洲精品资源美女情侣酒店| 色婷婷av一区二区三区gif| 精品成人无码一区二区三区| 午夜久久久久久久久久久| 免费一级在线观看| 欧美xxxxxxxxx| 成年男女免费视频网站不卡| 无码人妻丰满熟妇区毛片蜜桃精品| 国产精品va在线观看无码| 羞羞视频网站在线免费观看| 日韩av综合在线观看| 久久久久无码国产精品不卡| 亚洲福利影片在线| 无码人妻av免费一区二区三区| 国产亚洲视频在线| 欧美日韩亚洲一区二区三区在线观看| 免费看的黄色欧美网站| 欧美性巨大欧美| 成人性视频免费看| 免费看成人人体视频| 久久久久久成人网| 国产一区二区三区在线免费| 在线免费观看一区| av成人免费观看| 国产高清久久久| 亚洲精品免费一区亚洲精品免费精品一区| 亚洲黄色一级大片| 丰满少妇一区二区三区|