摘要:
對於使用new動態配置的資源,在不使用時必須記得delete,以釋放記憶體空間,然而動態記憶體配置很容易發生忘了delete,或是對同一個記憶體位址delete兩次(例如一個物件被指定給兩個指標),或是對一個已經被delete的位址再作讀寫動作。C++標準函式庫中提供auto_prt,可以協助您動態管理new而建立的物件,要使用auto_prt,您要含入memory表頭檔,例如:#includeauto_ptr可以指向一個以new建立的物件,當auto_ptr的生命週期結束後,所指向的物件之資源也會被釋放,在建立auto_ptr時必須指定目標物件之型態,例如:auto_ptriPtr (new 阅读全文
摘要:
參考(Reference)型態代表了變數或物件的一個別名(Alias),參考型態可以直接取得變數或物件的位址,並間接透過參考型態別名來操作物件,作用類似於指標,但卻不必使用指標語法,也就是不必使用*運算子來提取值。要定義參考型態,在定義型態時於型態關鍵字後加上&運算子,例如:intvar = 10; // 定義變數int*ptr = &var; // 定義指標,指向var的位址int&ref = var; //定義參考,代表var變數上面的程式中,最後一行即是在定義參考型態,注意參考型態一定要初始化,例如下面的定義是不能通過編譯的:int&ref; // err 阅读全文
摘要:
http://caterpillar.onlyfun.net/Gossip/CppGossip/CommandArg.html程式在執行時,可以附加一些引數以指定執行不同的功能,例如:copy-r ./temp ./tmp其中copy是程式名稱,而-r、./temp、./tmp都是在程式執行時附加給程式的一些引數,這種程式執行方式在以文字畫面為主的程式中相當常見,稱之為「命令列引數」(Command-lineargument)。在之前的程式中,您的main()函式在括號中總是空白的,而如要使用命令列引數,可以在括號中如下填寫:intmain(int argc, char *argv[]) {. 阅读全文