實驗樓上有很多C++的實戰項目,從簡單到進階,學習每個項目都可以掌握相應的知識點。
- 如果你還是C++新手的話,那么這個C++的項目列表你可以拿去練手實戰開發,畢竟學編程動手實踐是少不了的!
- 如果你不知道C++可以用來做哪些項目,可以應用在哪些地方,那么,這個項目列表拿去吧,可以看看C++可以做什么!
** C++項目列表:**
1、C++ 實現太陽系行星系統
項目使用 C++實現 OpenGL GLUT 實現一個簡單的太陽系行星系統,將涉及一些三維圖形技術的數學基礎、OpenGL 里的三維坐標系、OpenGL 里的光照模型、GLUT 的鍵盤事件處理。
2、C++實現運動目標的追蹤
這個項目是在前面一個項目的后續項目,利用 OpenCV 來實現對視頻中動態物體的追蹤。
3、C++ 實現銀行排隊服務模擬
項目使用 C++對銀行排隊服務進行模擬,以事件驅動為核心思想,手動實現模板鏈式隊列、隨機數產生器等內容,進而學習概率編程等知識。作為可選進階,這個模型同時還能稍加修改的應用到 CPU 資源爭奪模型中。
4、1小時入門增強現實技術
項目利用C++,基於OpenCV實現一個將3D模型顯示在現實中的小例子,學習基於Marker的AR技術。
一個踩着魔鬼的步伐的漆黑的食人魔
5、100 行 C++ 代碼實現線程池
項目使用 C++ 及大量 C++11新特性設計並實現一個線程池庫。
6、C++實現第一人稱射擊游戲
項目使用C++和 OpenGL 實現一個第一人稱射擊類游戲,涉及鍵盤鼠標的處理、三維視角變換處理、素材加載渲染等。
7、C++三段代碼機器繪圖
用三段 140 字符以內的代碼生成一張 1024×1024 的圖片。
8、C++ 開發 Web 服務框架
服務器開發中 Web 服務是一個基本的代碼單元,將服務端的請求和響應部分的邏輯抽象出來形成框架,能夠做到最高級別的框架級代碼復用。項目將綜合使用 C++11 及 Boost 中的 Asio 實現 HTTP 和 HTTPS 的服務器框架。
9、C++ 打造 Markdown 解析器
Markdown 幾乎成為了程序員編寫文檔的標配,Markdown 的相關語法簡單,解析 Markdown 文本能夠加深日后編寫編譯器中詞法分析的理解,本項目將使用 C++ 實現 Markdown 解析器,並將解析的內容生成為 HTML。
10、C++ 實現高性能內存池
獲得內存池所分配的內存速度高於從堆中獲得分配的內存的速度,一個長期穩定運行的服務在追求極致的過程中,實現內存池是必不可少的。和標准庫中的默認分配器一樣,內存池本質上也是分配器,該項目將設計並使用 C++實現一個高性能內存池。
11、C++ 實現簡易 Docker 容器
Docker 的本質是使用 LXC 實現類似虛擬機的功能,進而節省的硬件資源提供給用戶更多的計算資源。本項目將 C++ 與 Linux 的 Namespace 及 Control Group 技術相結合,實現一個簡易 Docker 容器。
12、C++ 實現內存泄露檢查器
內存泄漏一直是 C++ 中比較令人頭大的問題, 即便是很有經驗的 C++程序員有時候也難免因為疏忽而寫出導致內存泄漏的代碼。除了基本的申請過的內存未釋放外,還存在諸如異常分支導致的內存泄漏等等。本項目將使用 C++ 實現一個內存泄漏檢查器。
13、C++ 使用 Crypto++ 庫實現常用的加密算法
該項目利用 Cryto++庫 對字符串進行 AES 加密和解密,RSA 加密和解密,生成 MD5 值。其中主要用到了 Crypto++ 庫,這是開源的C++數據加密算法庫,支持如下算法:RSA、MD5、DES、AES、SHA-256等等。
14、C++ 實現高性能 RTTI 庫
RTTI 是運行時類型信息的英文縮寫,C++ 本身提供了運行時類型檢查的運算符 dynamic_cast 和 typeid,然而 dynamic_cast 的效率其實並不理想,需要犧牲一定性能。本項目將手動實現一個高性能 RTTI 庫。
15、c++操作 redis 實現異步訂閱和發布
該項目操作 redis 實現異步訂閱和發布,其中將介紹 redis 基礎知識,在linux中安裝和使用 redis ,常用的 hiredis API,並實現一個例程。
以上都是可以用C++來實現的,所以,還在等什么?快去動手開發吧!