C++ blockly

@cpp-blockly

Public team

Community (0)
No community contribution yet

Joined on Nov 5, 2024

  • 快速教學速度加快 變數資料型態整理
     Like  Bookmark
  •  Like  Bookmark
  • 基本概念 是一種資料結構,它能夠儲存固定大小的相同資料型態元素的集合,並透過索引存取每個元素 <img src="https://github.com/EricbobXD/C_plus_plus_Blockly/blob/main/photo/category_info/array_introduction.png?raw=true"></img> 索引規則 陣列的開始值為0不是1,結尾是n-1 陣列維度 如果是一維陣列,定義就是a[n] <img src="https://github.com/EricbobXD/C_plus_plus_Blockly/blob/main/photo/category_info/array_1d_dynamic.png?raw=true">
     Like  Bookmark
  • 基礎概念(Basic Concept) <sstream> 是 C++ 標準函式庫中的標頭檔,提供「字串流 string stream」的支援,讓我們像使用 cin / cout 一樣操作字串。 它包含以下三個類別: 類別 說明 std::stringstream 可讀寫的字串流
     Like  Bookmark
  • 基礎概念 <climits> 是 C++ 標準函式庫中的標頭,原本來自 C 的 <limits.h>,提供各種整數型態的範圍限制,例如 int、long、short 等的最大值與最小值。 在 C++ 中,這些常數是 宏(macros),不是變數或函數。 作用 查詢整數型別的 最大值與最小值 編寫跨平台、跨編譯器的程式碼 避免硬編碼(如直接寫 32767 等) 這對於檢查邊界條件、避免溢位錯誤特別重要。
     Like  Bookmark
  • 基礎概念(Basic Concept) <ctime> 是 C++ 標準函式庫提供的標頭檔,內含 時間處理的函數與資料結構,其本質來自於 C 的 <time.h>。 主要用途是: 取得系統時間 計算時間差 將時間格式化成可讀字串 建立計時器或效能測量 作用
     Like  Bookmark
  • 基礎概念 <iomanip> 是 C++ 標準函式庫中的標頭檔,提供了 格式化輸出(formatted output) 的功能。它的名稱來自 "input/output manipulators",常用來控制 cout 的輸出格式。 這個標頭提供了一些特殊的 操作器(manipulators),可以修改輸出數值或文字的顯示方式,如寬度、對齊、小數點精度等。 作用 設定輸出欄位寬度 控制浮點數的顯示精度 設定整數或浮點數的進位制(如十六進位) 設定對齊方式(靠左、靠右)
     Like  Bookmark
  • 基本概念 c++ 中的vector其實也是一個陣列(array),只是它是一個動態陣列(dynamic array),提供高效的方法來儲存及管理大小可變的陣列 特性 動態調整記憶體大小(不用事先定義大小) 連續記憶體分配(跟內建array一樣,快速訪問每個元素) 自動管理記憶體(不需要手動釋放) 可以用索引index存取 只能在尾端可以高效的新增或刪除資料
     Like  Bookmark
  • 基本概念 儲存記憶體位址,可用於動態記憶體配置與資料結構操作 其他跟變數差不多 解釋圖片 <img src="https://github.com/EricbobXD/C_plus_plus_Blockly/blob/main/photo/category_info/pointer%20&%20reference.png?raw=true"></img>
     Like  Bookmark
  • 基本概念 map是鍵值對容器,就是多個pair何在一起,並把第一個令為鍵key,第二個是值value 特性 可用於關聯式資料存取 用{key, value}來表示(裡面一定要放兩個元素) 可以用first, second去查看第一筆或第二筆數據 可以用map[key]得到值value,並快速查找資料 會依照鍵key做排序
     Like  Bookmark
  • 基本概念 就是一些條件判斷以及運算 條件判斷 字面意思,用於判斷式的成立條件或迴圈的中止條件 否的符號: ! 數學運算 就是一般的數學運算,%
     Like  Bookmark
  • vector c++ 中的vector其實也是一個陣列(array),只是它是一個動態陣列(dynamic array ),提供高效的方法來儲存及管理大小可變的陣列 特性 動態調整記憶體大小(不用事先定義大小) 連續記憶體分配(跟內建array一樣,快速訪問每個元素) 自動管理記憶體(不需要手動釋放) 使用時機 未知陣列大小
     Like  Bookmark
  • block pointer - new - create [x] pointer - delete - create [x] vector - assign - copy [x] sstream - define - create set, map node-type - value/is_valid/release - create pair<std::iterator, std::iterator> - create first / second - copy
     Like  Bookmark
  • 基本概念 一個可重複使用的程式區塊,透過參數與回傳值來傳遞資料 lambda 就是一個函式只是他的寫法比函式更簡潔,而且更加的好用和維護。 格式 auto l = [ captures ] ( parameters ) -> return_type { body } :::success
     Like  Bookmark
  • 作用 提供了將數據格式化到字符串或從字符串讀取數據的功能。常用的類別有: 常用操作 std::istringstream:用來從字符串中提取數據(類似於從 cin 讀取數據)。 std::ostringstream:用來將數據寫入字符串(類似於將數據輸出到 cout)。 std::stringstream(推薦):既能讀取字符串也能寫入字符串,具備以上兩者的功能。
     Like  Bookmark
  • 基本概念 迭代器的作用類似於指標,指向容器中的元素。 可以通過迭代器來進行容器中的元素訪問、遍歷等操作。 迭代器可以與各種標準容器配合使用,包括 vector、list、set、map 等。 常見操作 begin():返回指向容器中第一個元素的迭代器。 end():返回指向容器中最後一個元素後面位置的迭代器。 `++``:向後移動迭代器。 *:解引用迭代器,獲取迭代器指向的元素。
     Like  Bookmark
  • 基礎概念 可高效儲存與操作固定大小的二進位制集合 特性 要先定義陣列長度 可以用索引index 只能有1跟0 使用時機 需要用二進位制且要改變某一個值
     Like  Bookmark
  • 基礎概念 元素不會依照加入順序取出,而是依照修先權priority大小決定,由大排到小 特性 常用heap實作Min heap: 優先處理最小 Max heap: 優先處理最大 使用時機 最短路徑演算法dijkstra
     Like  Bookmark
  • 基本概念 是一種先進先出FIFO的資料結構 主要操作 Enqueue: 隊尾插入 Dequeue: 隊首取出 特性 FIFO: First In First Out
     Like  Bookmark
  • 基本概念 是一種後進先出LIFO的資料結構 主要操作 push pop 特性 LIFO 空間限制: 可以用陣列或是鏈結串列擴充
     Like  Bookmark