C/C++ 入門教學目錄

本篇 C/C++ 教學彙整了 ShengYu 過往學習 C/C++ 的知識,在此整理成 C/C++ 教學目錄以便日後的查詢與新手入門學習。

C/C++ 基礎教學

這邊列出一些 C/C++ 基礎觀念的文章,
C/C++ 三元運算子
C/C++ struct 用法與範例
C/C++ enum 用法與範例
C/C++ union 用法與範例
C/C++ const 的 3 種用法與範例
C/C++ static 的 5 種用法
C/C++ extern 用法與範例
C/C++ call by value傳值, call by pointer傳址, call by reference傳參考 的差別
C/C++ 函式回傳參考用法 function return by reference
C/C++ 不定長度參數
C++ exception 例外處理
C++ static_assert 與 assert 的差異

檔案處理
C++ 讀檔,讀取txt文字檔各種範例
C++ 寫檔,寫入txt文字檔各種範例
C/C++ 判斷資料夾是否存在
C/C++ 判斷檔案是否存在

字串處理
C/C++ 字串轉數字的4種方法
C/C++ 整數轉字串的方法與範例
C/C++ 字串比較的3種方法
C/C++ 字串連接的3種方法
C/C++ 字串搜尋的3種方法
C/C++ 字串分割的3種方法

演算法處理
C/C++ 3個求最大值的方法
C/C++ 3個求最小值的方法
C/C++ 字串反轉 reverse
C/C++ bubble sort 泡沫排序法
C/C++ selection sort 選擇排序法

其他
C/C++ Linux/Unix pthread 建立多執行緒用法與範例
C/C++ sleep 用法與範例
C++ 計算程式執行時間
C++ 取得系統當前時間

C/C++ 進階教學

這邊列出一些 C/C++ 進階觀念的文章,
C++ new 動態記憶體配置 / delete 釋放記憶體用法與範例
C++ nullptr 與 NULL 的差異
C++ explicit 用法與範例
C++ 類別樣板 class template

物件導向
C++ virtual 的兩種用法

STL 標準函式庫

這邊放 C++ STL (Standard Template Library) 標準函式庫的用法與範例,
容器相關
std::string 用法與範例
std::vector 用法與範例
std::list 用法與範例
std::stack 用法與範例
std::queue 用法與範例
std::deque 用法與範例
std::set 用法與範例
std::unordered_set 用法與範例
std::map 用法與範例
std::multimap 用法與範例
std::unordered_map 用法與範例

執行緒相關
std::this_thread::sleep_for 用法與範例
std::thread 用法與範例
std::mutex 用法與範例
std::condition_variable 用法與範例
std::async 用法與範例

演算法相關
std::sort 用法與範例
std::find 用法與範例
std::random_shuffle 產生不重複的隨機亂數
std::max 用法與範例
std::min 用法與範例
std::max_element 用法與範例
std::min_element 用法與範例

檔案操作
std::filesystem::copy 複製檔案的用法與範例
std::filesystem::exists 判斷檔案是否存在的用法與範例
std::filesystem::create_directory 建立資料夾的用法與範例

其它
std::shared_ptr 用法與範例
std::unique_ptr 用法與範例
std::atomic 用法與範例
std::atomic_flag 用法與範例
std::function 用法與範例
std::ref 用法與範例
std::string::find 搜尋字串用法與範例

進階
std::thread 怎麼實作的?
std::mutex 怎麼實作的?
std::condition_variable 怎麼實作的?

pthread 執行緒函式庫

這邊是 pthread 執行緒函式庫相關的用法與範例,
pthread 建立多執行緒用法與範例
pthread_join 用法與範例
pthread_detach 用法與範例
pthread_exit 用法與範例
pthread_setname_np 設定執行緒名稱用法
pthread_attr_getstacksize 取得執行緒堆疊大小用法
pthread_attr_setstacksize 設定執行緒堆疊大小用法
pthread 讓執行緒跑在指定 CPU 的方法 pthread_setaffinity_np
Linux/Unix 讓執行緒跑在指定 CPU 的方法 sched_setaffinity

設計模式

這邊放設計模式的用法與範例,
C++ 設計模式 - 單例模式 Singleton Pattern