|
オープンソースプロジェクトに参加したり、ソースコードを読んだりすることで、豊富な実践的な経験を積むことができます。実際のプロジェクトコードは、単純なチュートリアルよりも難易度が高く、C++の様々な概念やテクニックをより深く理解するのに役立ちます。 1. スレッドプール1 つのヘッダー ファイルと 100 行未満のコードのみで構成される、シンプルな C++11 スレッド プールの実装。 GitHub アドレス: https://github.com/progschj/ThreadPool 2.数独C++で実装されたコマンドライン数独ゲームです。600行強のコードなので、初心者でも簡単に習得できます。 GitHubアドレス: https://github.com/mayerui/sudoku 3. タイニテトリスTinytetrisは、C++で書かれたテトリスのターミナル版です。ソースコードは、アノテーション付きバージョンとライブラリバージョンの2種類が用意されています。アノテーション付きバージョンの方が理解しやすく、学習しやすいです。 GitHub アドレス: https://github.com/taylorconor/tinytetris 4. マイタイニーSTL教科書でC++を学んだ後、実際に試してみたくなりましたか?MyTinySTLは、充実したコメントと実践的な演習に基づいたプロジェクトで、C++学習の次の目的地です。初心者向けに設計されたMyTinySTLは、作者のAlinshans氏が小さなSTL(コンテナライブラリ+アルゴリズムライブラリ)をC++11で書き直したものです。コード構造は明確で整理されており、中国語のドキュメントとコメントが含まれており、シンプルなテストフレームワークも付属しているため、C++初心者の練習に最適です。 GitHub アドレス: https://github.com/Alinshans/MyTinySTL 5.CプラスプラスC-Plus-Plusは、C++で実装され、MITライセンスの下でライセンスされているアルゴリズムのコレクションです。これらのアルゴリズムは、コンピュータサイエンス、数学と統計、データサイエンス、機械学習、エンジニアリングなど、幅広い分野を網羅しています。また、同じ目的を達成するために、異なるアルゴリズム戦略と最適化を用いた複数の実装が見つかることもあります。 GitHub アドレス: https://github.com/TheAlgorithms/C-Plus-Plus 6. 電卓Microsoftのオープンソース電卓ツールは、Windowsシステムにプリインストールされています。標準電卓、科学計算電卓、プログラマー向け電卓機能に加え、様々な測定単位や通貨間の変換機能も備えています。Microsoftのエンジニアが作成したコードをご覧ください!大手企業のコーディング標準やプロジェクト構造を学び、ソースコードの読解力を向上させましょう。このプロジェクトは英語で書かれており、説明が不足しているため、学習にはソースコードを読む必要があり、非常に難易度が高いです。 GitHub アドレス: https://github.com/microsoft/calculator 7. ワークフローWorkflowはSogouのサーバーエンジンであり、SogouのほぼすべてのバックエンドC++サービスとその他数十社の企業で利用されており、1日あたり100億件以上のリクエストを処理しています。Workflowは、ネットワーク、ディスクI/O、CPU計算に加えて、可能な限り多くの非同期リソースを呼び出すことを目指しています。Workflowを使用すると、バックエンドサーバー(HTTPサーバーなど)を簡単に構築し、クライアントリクエスト(HTTP、Redis、MySQL、WebSocket、Kafkaプロトコルをサポート)を簡単かつ効率的に開始できます。 GitHubアドレス: https://github.com/sogou/workflow 8.jwエンジンC++とLuaをサポートする、クロスプラットフォームの軽量ウェブフレームワークです。TCP、KCP、WebSocket、HTTPなどのプロトコルをサポートしています。基盤となるlibuvの非同期I/Oは、並行性を向上させ、マルチスレッドのコンテキストスイッチのオーバーヘッドを回避し、コードのエレガントさを維持します。また、単一のメインイベントループでネットワークコンポーネントとロジックコンポーネントを駆動します。Luaのサポートにより開発効率が向上し、小規模なゲーム開発に適しています。 GitHub アドレス: https://github.com/jwcpp/jwEngine |