独自のアリメティック・ライブラリ
ゲームエンジンでは、パフォーマンスと精度のバランスが重要です。テンプレートを使えば、`float`と`double`を使い分ける算術ライブラリを一つのコードベースで実現できます。
インタラクティブ・デモ:`Vector`クラスの生成
テンプレートパラメータを変更すると、生成されるコードがどう変わるか見てみましょう。
静的サイズのデータ構造
メモリ制約の厳しい組込みシステムでは、動的メモリ確保を避けるのが鉄則です。テンプレートを使えば、コンパイル時にサイズが確定する安全なデータ構造を簡単に作れます。
インタラクティブ・デモ:`StaticVector`の動作
`push_back`ボタンを押して、バッファが満たされていく様子を確認してください。
Size: 0 / Capacity: 8
汎用RAIIラッパー
ファイルやソケットなどのリソースは、使い終わったら必ず解放しなければなりません。RAII(Resource Acquisition Is Initialization)の原則とテンプレートを組み合わせることで、この解放処理を自動化し、リソースリークを完全に防ぎます。
インタラクティブ・デモ:RAIIによる自動リソース解放
`process_file`関数を実行し、スコープを抜ける際に`fclose`が自動で呼ばれる様子を確認してください。例外が発生するケースも試せます。