1).當動態分配內存且數組越界時,建議不要使用防禦性編程。有壹種情況必須使用,就是當用動態創建的成員變量初始化對象失敗時,動態內存被釋放,因為在這種情況下,妳找不到其他方法。而且,這種方法可以用來調試程序。
2)泛型編程在編譯器實現上確實有異同,不能要求所有編譯器都壹致。等妳積累了足夠的經驗之後,自然就能遊刃有余了。
3).指針,也不想在某些書上宣揚,危險,系統級編程,怎麽能離開指針。Auto_ptr主要是用類封裝指針,用運算符重載指針,像普通指針壹樣使用。關鍵是它有壹個析構函數,可以釋放動態創建的內存。妳可以選擇用或者不用。
4).名稱空間std是壹個標準的名稱空間,所以編寫它是為了防止變量和函數與std中的內容沖突。妳這裏的CreateFile是win32API,妳還會發現MFC有CFile,C語言的de struct FILE,類unix的create等等。
我覺得妳現在的問題是急於求成。妳要循序漸進,很多東西,妳懂,但是妳不懂,不懂它的原理。