AACPOJ AACPOJ
  • 首頁
  • APCS 專區
  • 語法書
  • 課程介紹
登入 註冊

← AA 競程語法書 下冊
  1. 第八單元 字元、C 字串
    1. 單元地圖
    2. 想像一下…
    3. 8.1 字元的本質:ASCII 編碼
    4. 8.2 字元與整數的互相轉換
    5. 8.3 字元的運算
    6. 8.4 字元的讀入與輸出
    7. 8.5 字元的分類與 cctype 函式
    8. 8.6 C 語言字串:帶結尾記號的字元陣列
    9. 8.7 C 字串的讀入、輸出與初始化
    10. 8.8 字串函式庫 cstring(延伸知識)
    11. 8.9 字典序與 strcmp(延伸知識)
    12. 8.10 多個字串與二維字元陣列(延伸知識)
    13. 本單元語法速查表
    14. 本單元常犯錯誤總覽
    15. 單元練習題
    16. 本單元重點回顧
    17. 下一步
  2. 第九單元 浮點數
    1. 單元地圖
    2. 想像一下…
    3. 9.1 浮點數型態:float、double、long double
    4. 9.2 科學記號與 cout 的預設輸出
    5. 9.3 控制浮點數輸出格式:fixed 與 setprecision
    6. 9.4 浮點數字面常數與混合運算
    7. 9.5 電腦怎麼儲存浮點數
    8. 9.6 浮點數誤差
    9. 9.7 絕對誤差與相對誤差
    10. 9.8 內建數學函式
    11. 9.9 浮點數轉型為整數的規則
    12. 9.10 能用整數就用整數
    13. 本單元語法速查表
    14. 本單元常犯錯誤總覽
    15. 單元練習題
    16. 本單元重點回顧
    17. 下一步
  3. 第十單元 C++ 容器
    1. 單元地圖
    2. 想像一下…
    3. 10.1 C++ 標準函式庫、容器與 O 記號
    4. 10.2 vector:長度可變的陣列
    5. 10.3 vector 的陣列與巢狀 vector
    6. 10.4 size() 與無號整數的陷阱
    7. 10.5 iterator:指向容器裡的位置
    8. 10.6 vector 的複製與比較
    9. 10.7 string:更好用的字串型態
    10. 10.8 string 的常用操作
    11. 10.9 string 與數字的互相轉換
    12. 10.10 getline 與 stringstream:整行讀入
    13. 10.11 pair:把兩個值綁在一起
    14. 10.12 array:披上容器外衣的陣列(延伸知識)
    15. 本單元語法速查表
    16. 本單元常犯錯誤總覽
    17. 單元練習題
    18. 本單元重點回顧
    19. 下一步
  4. 第十一單元 排序演算法
    1. 單元地圖
    2. 想像一下…
    3. 11.1 排序:把資料排好的力量
    4. 11.2 指標(pointer)
    5. 11.3 指標與函式
    6. 11.4 內建的 sort 函式
    7. 11.5 用 sort 排序 vector 與 string
    8. 11.6 自定義比較函式
    9. 11.7 比較函式的鐵則:相等必須回傳 false
    10. 11.8 stable_sort:穩定排序(延伸知識)
    11. 11.9 排序能解決哪些問題
    12. 11.10 泡沫排序法
    13. 11.11 計數排序法
    14. 11.12 合併排序法(延伸知識)
    15. 本單元語法速查表
    16. 本單元常犯錯誤總覽
    17. 單元練習題
    18. 本單元重點回顧
    19. 下一步
  5. 第十二單元 競程慣用語法
    1. 單元地圖
    2. 想像一下…
    3. 12.1 萬用標頭檔 bits/stdc++.h
    4. 12.2 關鍵字 auto:讓編譯器推型態
    5. 12.3 參考(reference)
    6. 12.4 以範圍為基礎的 for 迴圈
    7. 12.5 結構化綁定
    8. 12.6 條件運算子與逗號運算子
    9. 12.7 用 using 幫型態取別名
    10. 12.8 lambda 運算式(延伸知識)
    11. 12.9 #define 與巨集(延伸知識)
    12. 12.10 讓 cin、cout 變快
    13. 本單元語法速查表
    14. 本單元常犯錯誤總覽
    15. 本單元重點回顧
    16. 下一步
  6. 第十三單元 二維地圖實作
    1. 單元地圖
    2. 想像一下…
    3. 13.1 二維陣列就是地圖
    4. 13.2 邊界判斷:inside 函式
    5. 13.3 方向表:dr[] 與 dc[]
    6. 13.4 一步一步走:模擬移動與轉向
    7. 13.5 沿一個方向一直走:射線與標記表
    8. 13.6 枚舉鄰格與範圍
    9. 13.7 同時發生:讀舊表、寫新表
    10. 13.8 平移與子矩陣
    11. 13.9 旋轉與翻轉
    12. 13.10 螺旋走訪(延伸知識)
    13. 13.11 實作題怎麼寫
    14. 本單元語法速查表
    15. 本單元常犯錯誤總覽
    16. 單元練習題
    17. 本單元重點回顧
    18. 下一步
  7. 第十四單元 結構體
    1. 單元地圖
    2. 想像一下…
    3. 14.1 為什麼需要結構體
    4. 14.2 定義結構體
    5. 14.3 結構體變數的初始化
    6. 14.4 成員函式
    7. 14.5 建構子(constructor)
    8. 14.6 運算子多載:讓結構體學會比大小
    9. 14.7 運算子多載:讓結構體學會加減乘除
    10. 14.8 運算子多載:輸入與輸出(延伸知識)
    11. 14.9 pair 還是結構體?
    12. 本單元語法速查表
    13. 本單元常犯錯誤總覽
    14. 本單元重點回顧
    15. 下一步
  8. 第十五單元 進制轉換與大數運算
    1. 單元地圖
    2. 想像一下…
    3. 15.1 什麼是 K 進制
    4. 15.2 二進制與十六進制
    5. 15.3 進制字串轉成整數
    6. 15.4 整數轉成進制字串
    7. 15.5 stoi 與 stoll 的進制參數
    8. 15.6 估計 2 的次方有多大
    9. 15.7 當 long long 也裝不下:大數
    10. 15.8 大數加減法
    11. 15.9 大數乘法
    12. 本單元語法速查表
    13. 本單元常犯錯誤總覽
    14. 本單元重點回顧
    15. 下一步
  9. 第十六單元 效能優化
    1. 單元地圖
    2. 想像一下…
    3. 16.1 優化,是在優化什麼?
    4. 16.2 用數學性質優化:一步到位的公式
    5. 16.3 用陣列儲存資訊:mex 函數
    6. 16.4 根號複雜度:質數判斷
    7. 16.5 每輪減半的威力:約瑟夫問題 1
    8. 16.6 log 複雜度:一直除以 2
    9. 16.7 改變枚舉順序:A×B×C
    10. 本單元優化手法速查表
    11. 本單元常犯錯誤總覽
    12. 本單元重點回顧
    13. 下一步
  10. 第十七單元 檔案處理
    1. 單元地圖
    2. 想像一下…
    3. 17.1 為什麼要學讀寫檔案
    4. 17.2 用 ifstream 從檔案讀資料
    5. 17.3 用 ofstream 把資料寫進檔案
    6. 17.4 freopen:一行把鍵盤螢幕換成檔案
    7. 17.5 檔案在哪裡?路徑與工作目錄
    8. 17.6 讀到檔案結尾為止
    9. 17.7 終端機的重導向(延伸知識)
    10. 本單元語法速查表
    11. 本單元常犯錯誤總覽
    12. 本單元重點回顧
    13. 下一步
  11. 第十八單元 查錯技巧
    1. 單元地圖
    2. 想像一下…
    3. 18.1 查錯的心法:找出會錯的測資
    4. 18.2 讓編譯器幫你抓錯:警告參數
    5. 18.3 新手常犯錯誤檢查清單
    6. 18.4 四種卡關情境
    7. 18.5 print 除錯法
    8. 18.6 手造測資:從極端情況下手
    9. 18.7 對拍:全自動找出錯的測資(延伸知識)
    10. 18.8 assert:讓程式自我檢查(延伸知識)
    11. 本單元語法速查表
    12. 本單元常犯錯誤總覽
    13. 本單元重點回顧
    14. 下一步
  12. 第十九單元 程式識讀:考場上會看到的寫法
    1. 單元地圖
    2. 想像一下…
    3. 19.1 C 與 C++ 對照表
    4. 19.2 C 語言的輸入輸出:scanf 與 printf
    5. 19.3 位元運算
    6. 19.4 遞迴
    7. 19.5 佇列與堆疊
    8. 19.6 搜尋:線性與二分
    9. 19.7 switch 與 fall-through
    10. 19.8 char * 當字串
    11. 19.9 插入排序與選擇排序
    12. 本單元語法速查表
    13. 本單元常犯錯誤總覽
    14. 本單元重點回顧
    15. 下一步
語法書 / AA 競程語法書 下冊 / 第十二單元 / 結構化綁定

12.5 結構化綁定

10.11 用 pair 綁資料,拆開時 first、second 寫到手軟:

✘ 囉唆寫法:

pair<int, char> p = {7, 'A'};
int num = p.first;
char ch = p.second;

C++17 的結構化綁定(structured binding)一句話拆完:

✔︎ 省力寫法:

登入後即可閱讀完整內容

語法書免費開放給所有 AACPOJ 帳號,註冊只要一分鐘。

登入 免費註冊
← 12.4 以範圍為基礎的 for 迴圈 12.6 條件運算子與逗號運算子 →
powered by AACPOJ | 評測與提交說明 | 更新日誌 |