CMU 15-445
実験目標#
この実験は、CMU 15-445/645
の前提実装です。主に C++ のスキルを評価します。
私が受講しているコースはfall20221です。関連するコードはRelease2からダウンロードできます。
このコースでは、次の 2 つの内容に関連しています。
- 環境の構築方法
- C++ の使用方法
環境の構築#
私は仮想マシン(Ubuntu)+ ローカルコンピュータの SSH を使用して開発しています。
以下のプラグインを VSCode にインストールします。
C/C++
CMake
CMake Tools
Remote - SSH
まず、必要なコードをダウンロードして解凍します。
次に、VSCode の SSH を使用してリモートコンピュータに直接アクセスします。
その後、必要なソフトウェアをインストールします。
その後、VSCode のいくつかのオプションを設定する必要があります。
下部の「生成」をクリックします。
次に、「Clang 12.01 x86_64-pc-linux-gnu」を選択してください。
デバッグ#
生成の横にあるボタン[all]
をクリックして必要なものに切り替えます。
テスト方法はGTest
を使用しています。
テストファイルのすべてのDIABLE_
を削除するだけでテストを実行できます。
たとえば、パス/test/primer/starter_trie_test.cpp
のすべてのDIABLE_
を削除し、結果を出力してみることができます。ブレークポイントでデバッグするにはを押します。結果を直接出力するにはを押します。
デバッグ
実行結果
C++ の使用方法#
この部分についてはあまり説明することはありません。
std::unique_ptr
の使用法に重点を置いてください。
以下はいくつかの使用例です。
トライノードの反復処理
親クラスのポインタで子クラスのノードを動的に構築する方法
キャストを使用して子クラスの値を取得する方法
コースが終了してしまった場合、私のコードを参考にしてください。
Footnotes#
-
CMU 15-445/645 fall2022 公式ウェブサイト https://15445.courses.cs.cmu.edu/fall2022/ ↩
-
bustub ソースコードの場所 https://github.com/cmu-db/bustub ↩