C/C++ 做為元老級的編程語言,任時光更迭依舊屹立不倒,哪怕現在煊赫一時的AI,其底層也是用其編寫。linux
那么做為新手該如何快速上手 C++ 呢?固然是敲代碼啊!一切不寫代碼的學編程都是瞎搞。下面為你們精選了 22 個 C++ 項目,推薦新人練手首選!程序員
1.C++ 實現基數樹
使用 C++ 實現Radix樹:一種基于二進制表示的鍵值的查找樹,尤為適合處理很是長的、可變長度的鍵值,Patricia 的基本思想是構建一個二叉樹。redis
2.C++ 實現并行計算的K-Means聚類算法
使用 C++ 實現一個完整的面向對象的可并行K-Means算法。算法
3.C++ 實現 STL 標準庫和算法
實現 C++ STL 的容器和算法的實現。數據庫
C/C++的學習裙【七一二?二八四?七零五?】,不管你是小白仍是進階者,是想轉行仍是想入行均可以來了解一塊兒進步一塊兒學習!裙內有開發工具,不少干貨和技術資料分享!編程
4.C++ 實現內存泄露檢查器
內存泄漏一直是 C++ 中比較使人頭大的問題, 即使是頗有經驗的 C++ 程序員有時候也不免由于疏忽而寫出致使內存泄漏的代碼。本項目使用 C++ 實現一個內存泄漏檢查器。json
5.C++ 實現高性能內存池
得到內存池所分配的內存速度高于從堆中得到分配的內存的速度,一個長期穩定運行的服務在追求極致的過程當中,實現內存池是必不可少的。和標準庫中的默認分配器同樣,內存池本質上也是分配器,本項目設計并使用 C++實現一個高性能內存池。數組
6.C++ 實現高性能 RTTI 庫
RTTI 是運行時類型識別的英文縮寫,C++ 自己提供了運行時類型檢查的運算符 dynamic_cast 和 typeid,然而 dynamic_cast 的效率其實并不理想,須要犧牲必定性能。本項目將使用 C++ 手動實現一個高性能 RTTI 庫。服務器
7.C++ 實現智能指針
使用C++語言實現智能指針的過程,來了解C++基本程序設計的方法,包括類的定義與使用,運算符的重載,模板類的使用方法,以及引用計數技術。網絡
8.C++ 實現即時通訊軟件
使用 C++ 實現一個具有服務端和客戶端的即時通訊聊天室,涉及網絡編程,C++面向對象程序設計等知識。
9.C++實現課程管理系統
使用C++ 實現一個課程管理系統,在這個過程當中會介紹 C++ 11 的不少特性,同時能夠熟悉 Linux下 的 C++ 。
10.C++ 實現銀行排隊服務模擬
使用 C++對銀行排隊服務進行模擬,以事件驅動為核心思想,手動實現模板鏈式隊列、隨機數產生器等內容,進而學習幾率編程等知識。做為可選進階,這個模型同時還能稍加修改的應用到 CPU 資源爭奪模型中。
11.C++操做 redis 實現異步訂閱和發布
操做 redis 實現異步訂閱和發布,其中將介紹 redis 基礎知識,在linux中安裝和使用 redis ,經常使用的 hiredis API,并實現一個例程。
12.C++ 使用 openGL 實現吃豆人游戲
經過 C++ 和 openGL 庫來實現了一個吃豆人的小游戲。使用了標準模板庫,既對本身以前知識的檢閱也是對 C++ 編程能力的一種提高。
13.C++ 解決迷宮問題
經過 C++ 實現了一個迷宮游戲,游戲不只涉及到簡單的 C++ 游戲思想,還涉及到深度優先遍歷算法。
14.C++ 基于 OpenCV 實現實時監控和運動檢測記錄
使用 C++ 和 OpenCV 提供的庫函數,實現攝像頭的實時監控功能,并經過監控畫面的運動檢測選擇是否記錄視頻。監控人員可選擇輸出圖像的模式以更容易的分辨監控中的異常狀況。
15.C++ 實現簡易 Docker 容器
C++ 與 Linux 的 Namespace 及 Control Group 技術相結合,實現一個簡易 Docker 容器。
16.C++ 開發 Web 服務框架
將綜合使用 C++11 及 Boost 中的 Asio 實現 HTTP 和 HTTPS 的服務器框架。
17.C++ 編寫 json 生成器
用 C++ 編寫一個 json 生成器,生成 json 數據,并學習編寫測試用例。
18.C++ 利用 QT 實現 PDF 閱讀器
利用 QT 開發環境來實現一個 PDF 閱讀器。主要內容包含了 QT 的基本用法以及圖形界面的設計,還有第三方庫 poppler 的使用。
19.C++17 自制腳本語言
使用 C++ 語言自制一個腳本語言。麻雀雖小五臟俱全,它完整支持函數,條件/位/邏輯運算,原生字符串/數組類型等特性。主要將從理論出發,逐步構建詞法分析器,語法分析器,AST,運行時,最終實現一個完整的腳本語言,而且使用該腳本語言解決一些實際問題。
20.C++ 實現太陽系行星系統
使用 C++實現 OpenGL GLUT 實現一個簡單的太陽系行星系統,將涉及一些三維圖形技術的數學基礎、OpenGL 里的三維坐標系、OpenGL 里的光照模型、GLUT 的鍵盤事件處理。
21.C++11 從零實現 NoSQL 數據庫
使用 C++11 實現了一個徹底兼容 redis 的 kv 數據庫項目——Qedis;該項目會使用到一些 C++11 核心特性和 STL 庫,并利用已有的 tcp 網絡庫,逐步構建出一個徹底兼容 Redis 的更高性能的內存數據庫。
22.C++ 實現 XML 解析
經過 C++ 實現 XML 文檔內容解析,充分利用了 C++ 功能特性和泛型編程思想。經過本課程能夠規范本身的編程習慣并積累大型項目開發經驗。