可能です私は、この関数を定義した関数のバージョンを提供します。したがって、2番目のケースではヘッダは効率的ですが、T=int
this is inefficientとなります。これらの2つのタイプのみを例として使用しています。は値によって、参照により両方が
だから、より良い解決策を持つ別の関数を定義することになります。
template <typename T>
T foo(){
T result;
//some very complicate stuff
return result;
}
を、ユーザーが呼び出すためにどのバージョンを決めましょう、しかし、私たちはどのように機能して//some very complicate stuff
の全体のコードを呼び出すために避けていますか?コンパイラの最適化では
整数参照での操作は比較的効率的ではありませんが、それほどコストはかかりません。これは単に整数をコピーすることも安いからです。 –