への呼び出しにかかるルックアップ時間について興味がstd::get<>
ありstd::tuple<>
ます。いくつかの簡単なグーグル検索 (通常、この情報が記載されているリファレンス ページを含む) では結果が得られませんでした。
私の最初の直感 (および恐怖) は、タプルの再帰構造 (可変個引数テンプレートとして実装されている場合) は、N ルックアップの順序を必要とすることにつながるということです (のようにget<3>(t)
見える呼び出しt.rest().rest().first()
。ここ...
繰り返しになりますが、コンパイラがこれを最適化して、N 回の呼び出しのオーバーヘッドなしで正しいオフセットを直接返すことができることを願っています。
基本的に私が欲しいもの:実行時に指定された保証はありますか? std::tuple
これは実装方法を制限しますか?