指針支持隱式轉換(implicit conversion), 在動態綁定中,派生類指針可以轉換為基類指針.但是模板的實例化(instantiati
模板(template)可以節省時間, 和避免代碼重復, 但是有可能導致代碼膨脹;在設計模板時, 需要進行共性和變性分析(commonality
函數名: strdup; 功能: 將串拷貝到新建的位置處; 用法: char *strdup(char *str);strdup屬於GNU C++
容器(container)的erase()函數, 是刪除一個元素, 會移動迭代器的指針, 指向下一個元素;迭代器(iterator)是一種指針,
派生類繼承模板化基類的成員函數, 默認是無法訪問, 模板化基類的命名.原因是模板的定制化有可能取消某些函數, 為了能在編譯期檢測出錯誤, 所以默認
聲明template參數時, 前綴關鍵字class和typename可以互換;使用關鍵字typename標識嵌套從屬類型名稱, 但不需在基類列表和
類(class)和面向對象:顯示接口(explicit interface): 即在源代碼中可見, 可以在頭文件內看到類的所有接口;運行期多態(r
通過接口類(interface class), 實現工廠函數, 可以復用(reuse)已有類, 重寫實現接口.如:接口類: IPerson; 復用
寫入程序, 需要在文件夾中寫入數據, 如果文件夾不存在, 則無法寫入, 在程序入口需要判斷;由於屬於系統層, Windows的兩種解決方法.參考:
繼承接口和實現, 主要包含三種方式:1. 只繼承接口, 純虛函數;2. 繼承接口和實現, 允許覆寫(override), 虛函數;3. 繼承接口和
MinGW的bug,使用-std=c++11, 有可能出現, 修改{MinGW dir}/include/io.h文件,使用:__CRT_INLI