在使用new來建立動態結構時,表示建立的新結構中的某個變數,和普通結構中某個變數的形式不同。例如:
#include#includeusing namespace std;
struct ab //定義乙個結構ab
;int main()
char*getname()
輸出:
隨便輸點什麼,別超過20個字元
abc你輸入的是: abc
將你輸入的字串複製到指標c的位置。
指標c所指向位址的值為abc
在主函式裡,把指標c的位址賦給指標a,指標a的值為abc
指標a的位址為00430658
隨便輸點什麼,別超過20個字元
def你輸入的是: def
將你輸入的字串複製到指標c的位置。
指標c所指向位址的值為def
在主函式裡,把指標c的位址賦給指標a,指標a的值為def
指標a的位址為00430698
請按任意鍵繼續. . .
①char*c = new c
har[strlen(b) + 1];這行**,可能為指標c兩次new到相同的記憶體位址,也可能new到不同的記憶體位址。
②因為指標a指向的位址為指標c所指向的位址,所以指標a指向的位址和指標c指向的位址是相同的;
而指標c相對於指標b來說,是new了乙個新位址,因此和指標b的位址是不同的;
指標b每次都new了乙個新位址,所以也可能是不同位址(但由於之前delete指標a),因此也可能是不同的;
③根據實際測試,delete a;和 delete a; 都能順利執行,但按之前來說,刪除字串指標應該是delete a; 才對。
⑤在函式getname
()之中,執行完函式之後,指標b和指標c因為是自動儲存,因此之後無法再次訪問指標b和c,但因為沒有被delete,所以其占用的記憶體位址還在。但是指標c和指標a指向的記憶體位址相同,delete了指標a,實際上也釋放了指標c所指向的記憶體位址,但是沒有釋放指標b所指向的記憶體位址。參照(五十九自動儲存),因此,指標b可能造成記憶體洩露
練習五十八 列表的練習
部分的python中list的練習例項 dir list add class contains delattr delitem dir doc eq format ge getattribute getitem gt hash iadd imul init init subclass iter le...
五十八課 類模板的概念和意義
上節課我們使用泛型程式設計的思想應用於函式模板,這節課我們就來學習下泛型程式設計的思想是否可以用類上面呢?c 中將模板的思想應用於類,使得類的實現不關注資料元素的具體型別,而之關注類所實現的具體功能。1 c 中的類模板 templateclass operator 2 類模板的應用 operator...
java學習之路 第五十八天
session 是一種cookie的一種會話,cookie是伺服器返回一小份資料給客戶端,並且存放在客戶端。session是資料存放在伺服器端的。什麼是session會話 瀏覽器訪問瀏覽器的時候,會在伺服器中開闢乙個儲存空間,單獨建立乙個session物件,每個物件都有乙個唯一的id,並將其id通過...