rknfish

rknfish

i need more love
github

CMU15445 プロジェクト 0 トライツリー

CMU 15-445

実験目標#

この実験は、CMU 15-445/645の前提実装です。主に C++ のスキルを評価します。

私が受講しているコースはfall20221です。関連するコードはRelease2からダウンロードできます。

このコースでは、次の 2 つの内容に関連しています。

  • 環境の構築方法
  • C++ の使用方法
Mermaid Loading...
Mermaid Loading...

環境の構築#

私は仮想マシン(Ubuntu)+ ローカルコンピュータの SSH を使用して開発しています。

以下のプラグインを VSCode にインストールします。

  • C/C++
  • CMake
  • CMake Tools
  • Remote - SSH

まず、必要なコードをダウンロードして解凍します。

次に、VSCode の SSH を使用してリモートコンピュータに直接アクセスします。

その後、必要なソフトウェアをインストールします。

その後、VSCode のいくつかのオプションを設定する必要があります。

vscod

下部の「生成」をクリックします。

image-20231001205625799

次に、「Clang 12.01 x86_64-pc-linux-gnu」を選択してください。

デバッグ#

生成の横にあるボタン[all]をクリックして必要なものに切り替えます。

Debug "デバッグ中"

テスト方法はGTestを使用しています。

テストファイルのすべてのDIABLE_を削除するだけでテストを実行できます。

たとえば、パス/test/primer/starter_trie_test.cppのすべてのDIABLE_を削除し、結果を出力してみることができます。ブレークポイントでデバッグするにはを押します。結果を直接出力するにはを押します。

デバッグ
Debug "デバッグ中"

実行結果
Run "コードの実行結果"

C++ の使用方法#

この部分についてはあまり説明することはありません。

std::unique_ptrの使用法に重点を置いてください。

以下はいくつかの使用例です。

トライノードの反復処理

親クラスのポインタで子クラスのノードを動的に構築する方法

キャストを使用して子クラスの値を取得する方法

コースが終了してしまった場合、私のコードを参考にしてください。

Footnotes#

  1. CMU 15-445/645 fall2022 公式ウェブサイト https://15445.courses.cs.cmu.edu/fall2022/

  2. bustub ソースコードの場所 https://github.com/cmu-db/bustub

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。