operator<<:輸出運算子,cout 為標準輸出串流operator>>:輸入運算子,cin 為標準輸入串流cout << "val=" << val << endl;getline(cin, str):讀取整行含空白字串迭代器是遍歷 STL 容器元素的廣義指標,提供統一介面:
*、++、==、!=、=yield return 實作迭代器區塊,編譯器自動生成 IEnumerableenum Weekday { Sun, Mon, Tue, Wed, Thu, Fri, Sat }; // 0~6
enum Num { x1, x2=0, x3=50, x4 }; // x1=0, x2=0, x3=50, x4=51
switch、陣列索引等場合typedef int* IntPtr; typedef std::mapMapIntStr;
用途:簡化複雜宣告、提升可讀性、跨平台型別抽象。
sizeof 以 char 大小為單位(sizeof(char)==1)bool/char=1、short/wchar_t=2、int/long/float=4、double/long double=8| 運算子 | 用途 | 特性 |
|---|---|---|
reinterpret_cast | 位元模式重新解讀 | 指標轉指標,無二進制轉換,極度危險 |
static_cast | 相關型別轉換 | 編譯期檢查,基底/衍生類指標轉換、基本型別轉換 |
dynamic_cast | 執行期多型轉換 | 需 RTTI,轉換失敗回傳 nullptr 或拋出 bad_cast |
const_cast | 移除 const/volatile | 僅限指標/參考,修改原為常數之物件行為未定義 |
private:預設,僅類別內部可存取public:介面,外部可存取protected:繼承用,衍生類可存取explicit 防隱式轉換~ClassName()、不可多載、虛解構子用於多型刪除=0),不可實例化main(int argc, char* argv[]):命令列參數由作業系統初始化#include
_findfirst/_findnext/_findclose)struct _finddata_t {
unsigned attrib; // 屬性位元組合
time_t time_create; // 建立時間
time_t time_access; // 最後存取
time_t time_write; // 最後修改
_fsize_t size; // 檔案大小
char name[_MAX_FNAME]; // 檔名
};
遞迴遍歷子目錄需配合 _chdir 切換工作目錄。
stat)struct stat sb;
stat(path, &sb);
switch (sb.st_mode & S_IFMT) {
case S_IFREG: puts("一般檔案"); break;
case S_IFDIR: puts("目錄"); break;
case S_IFLNK: puts("符號連結"); break;
// ...
}
CWinApp:應用程式類別,InitInstance 初始化CMainFrame:主視窗框架(選單、工具列、狀態列)CChildFrame:MDI 子視窗框架CDocument:資料模型(讀寫、序列化)CView:視圖(繪圖、使用者互動)訊息迴路:WinMain → Run → PumpMessage
CStringT 模板三具現化:CString(TCHAR)、CStringA(char)、CStringW(wchar_t)Format、MakeUpper/Lower/Reverse、Left/Mid/Right、Find/Replace/Delete/Remove、運算子 +/+=/==str.Format(_T("a=%d, b=%.2f"), a, b);CTreeCtrl:InsertItem、SetImageList、GetNextSibling/Parent/Root/SelectedItem、DeleteItem/AllItemsCListCtrl:四種風格(Icon/SmallIcon/List/Report),InsertColumn/Item、Get/SetItemText/Data、選取管理| 函數 | 來源 | 特性 | 釋放方式 |
|---|---|---|---|
alloca | 編譯器內建 | 堆疊配置,函數返回自動釋放 | 自動 |
malloc/free | C 標準庫 | 堆配置,不呼叫建構/解構子 | free |
calloc | C 標準庫 | 配置並歸零 | free |
realloc | C 標準庫 | 調整大小,可能移動記憶體 | free |
new/delete | C++ | 呼叫建構/解構子,型別安全 | delete/delete[] |
VirtualAlloc/Free | Windows API | 頁面級虛擬記憶體,跨程序可用 | VirtualFree |
HeapAlloc/Free | Windows API | 私有堆,不可跨程序 | HeapFree |
GlobalAlloc/Free | Windows API | 全域堆,可跨程序,需 GlobalLock | GlobalFree |
.data(已初始化)、.bss(未初始化)const 全域變數