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