精選 22 個 C++ 項目,推薦新人練手首選

C/C++ 作為元老級的編程語言,任時光更迭依舊屹立不倒,哪怕如今炙手可熱的AI,其底層也是用其編寫。

那麼作為新手該如何快速上手 C++ 呢?當然是敲代碼啊!一切不寫代碼的學編程都是瞎搞。下面為大家精選了 22 個 C++ 項目,推薦新人練手首選!

1.C++ 實現基數樹

使用 C++ 實現Radix樹:一種基於二進制表示的鍵值的查找樹,尤其適合處理非常長的、可變長度的鍵值,Patricia 的基本思想是構建一個二叉樹。

2.C++ 實現並行計算的K-Means聚類算法

使用 C++ 實現一個完整的面向對象的可並行K-Means算法。

3.C++ 實現 STL 標準庫和算法

實現 C++ STL 的容器和算法的實現。

4.C++ 實現內存洩露檢查器

內存洩漏一直是 C++ 中比較令人頭大的問題, 即便是很有經驗的 C++ 程序員有時候也難免因為疏忽而寫出導致內存洩漏的代碼。本項目使用 C++ 實現一個內存洩漏檢查器。

精選 22 個 C++ 項目,推薦新人練手首選

5.C++ 實現高性能內存池

獲得內存池所分配的內存速度高於從堆中獲得分配的內存的速度,一個長期穩定運行的服務在追求極致的過程中,實現內存池是必不可少的。和標準庫中的默認分配器一樣,內存池本質上也是分配器,本項目設計並使用 C++實現一個高性能內存池。

精選 22 個 C++ 項目,推薦新人練手首選

6.C++ 實現高性能 RTTI 庫

RTTI 是運行時類型識別的英文縮寫,C++ 本身提供了運行時類型檢查的運算符 dynamic_cast 和 typeid,然而 dynamic_cast 的效率其實並不理想,需要犧牲一定性能。本項目將使用 C++ 手動實現一個高性能 RTTI 庫。

精選 22 個 C++ 項目,推薦新人練手首選

7.C++ 實現智能指針

使用C++語言實現智能指針的過程,來了解C++基本程序設計的方法,包括類的定義與使用,運算符的重載,模板類的使用方法,以及引用計數技術。

8.C++ 實現即時通信軟件

使用 C++ 實現一個具備服務端和客戶端的即時通信聊天室,涉及網絡編程,C++面向對象程序設計等知識。

精選 22 個 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++ 編程能力的一種提升。

精選 22 個 C++ 項目,推薦新人練手首選

13.C++ 解決迷宮問題

通過 C++ 實現了一個迷宮遊戲,遊戲不僅涉及到簡單的 C++ 遊戲思想,還涉及到深度優先遍歷算法。

精選 22 個 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 的使用。

精選 22 個 C++ 項目,推薦新人練手首選

19.C++17 自制腳本語言

使用 C++ 語言自制一個腳本語言。麻雀雖小五臟俱全,它完整支持函數,條件/位/邏輯運算,原生字符串/數組類型等特性。主要將從理論出發,逐步構建詞法分析器,語法分析器,AST,運行時,最終實現一個完整的腳本語言,並且使用該腳本語言解決一些實際問題。

20.C++ 實現太陽系行星系統

使用 C++實現 OpenGL GLUT 實現一個簡單的太陽系行星系統,將涉及一些三維圖形技術的數學基礎、OpenGL 裡的三維座標系、OpenGL 裡的光照模型、GLUT 的鍵盤事件處理。

精選 22 個 C++ 項目,推薦新人練手首選

21.C++11 從零實現 NoSQL 數據庫

使用 C++11 實現了一個完全兼容 redis 的 kv 數據庫項目——Qedis;該項目會使用到一些 C++11 核心特性和 STL 庫,並利用已有的 tcp 網絡庫,逐步構建出一個完全兼容 Redis 的更高性能的內存數據庫。

22.C++ 實現 XML 解析

通過 C++ 實現 XML 文檔內容解析,充分利用了 C++ 功能特性和泛型編程思想。通過本課程可以規範自己的編程習慣並積累大型項目開發經驗。

"


分享到:


相關文章: