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