C++ 模板編程透徹解析:從強類型困境到泛型編程昇華
語言類型系統兩大陣營 特性強類型 (C/C++, Java, C#)弱類型 (JS, Python, PHP) 變數宣告必須指定型別無需指定,自動推導 型別變
C++ 異常處理入門:try-catch 機制、拋出傳播與錯誤分類
程式錯誤三分類 語法錯誤:編譯期發現,最易修復 邏輯錯誤:功能不符預期,除錯解決 執行期錯誤:除零、記憶體耗盡、越界、檔案不存在 → 異常機制解決 異常處
C++ 異常類型與多重 catch 機制:匹配規則、類型轉換與最佳實踐
catch 參數解析 catch (ExceptionType variable) // variable 可省略,僅匹配類型 // 相當於函數參數:運行期匹配
C++ throw 關鍵字深度解析:拋出異常與棄用的異常規範
拋出異常:核心語法 throw expression; // expression 可為任意型別:int、指標、物件、字串... 異常物件在拋出點建立,透過呼叫
C++ 標準異常類別 exception 體系全景解析
捕獲所有標準異常的統一入口 try { // 可能拋出標準異常 } catch (exception& e) { // 以引用捕獲,避免物件切割與拷貝開
C++ 輸入輸出核心觀念:三大模式、型別安全與擴展性
三大 I/O 模式 標準 I/O:鍵盤 ↔ 螢幕 (cin/cout) 檔案 I/O:磁碟檔案 ↔ 記憶體 (ifstream/ofstream/fstrea
C++ I/O 類別庫全景圖:從類別繼承到運算符重載的核心架構
流的本質 流 = 有序位元組序列,對應記憶體緩衝區。輸入:裝置 → 緩衝區 → 程式;輸出:程式 → 緩衝區 → 裝置。 核心類別繼承體系 ios (抽象基類
C++ 標準輸出流 cout/cerr/clog 深度解析:三大輸出通道的分工與協作
cout:標準輸出流 關聯標準輸出裝置 (螢幕) 緩衝機制:資料先入 輸出緩衝區,滿或遇 endl 才刷新顯示 endl = 換行 + 強制刷新;\n = 僅
C++ cin 輸入流深度解析:狀態機制與錯誤處理
cin 本質 cin 是 istream_withassign 類別物件,關聯標準輸入 (鍵盤)。資料流向:鍵盤 → 鍵盤緩衝區 → (按 Enter) → 程
C++ get() 三種形態全解析:單字元讀取的精準控制
三種呼叫形式 無參數:int c = cin.get();回傳讀取字元 ASCII (int 型別),EOF 回傳 EOF (-1)。適用逐字元複製、過濾。
C++ getline() 完整指南:讀取整行字元的藝術與陷阱
語法與參數 cin.getline(char* buffer, int n, char delim = \n); buffer:目標字元陣列 n:最多讀取 n
C++ istream 進階成員函式:eof、peek、putback、ignore 實戰
eof():檢測檔案/流結尾 char c; while (!cin.eof()) { // 未遇 EOF 繼續 if ((c = cin
C++ 檔案核心觀念:類型、儲存格式與 I/O 分層
檔案在作業系統眼中 OS 以檔案為單位管理外部儲存資料。程式存取資料必須先以檔案名定位,再讀寫內容。外部儲存包含磁碟、光碟、USB 等,教程以磁碟檔案為代表。
C++ 檔案流類別與物件:從類別繼承到實體操作
核心概念釐清 檔案:磁碟上具名的資料集合 檔案流:以檔案為來源/目的地的位元組序列,在記憶體有對應緩衝區 流物件:程式操作流的介面,非檔案本身 如同 cin
C++ ASCII 檔案讀寫實戰:格式化資料的靈活處理
ASCII 檔案特性 每個位元組存放一個 ASCII 碼,對應一個可見字元。優點:人類可直接閱讀(記事本開啟)、支援格式化輸出入;缺點:數值轉換耗時、佔空間大(