1
オーバーインライン化によるコードbloadを避けるために...
がインライン関数のように機能するテンプレート関数を実装する有効な方法ですか?C++ヘッダー専用ライブラリのインライン関数とテンプレート関数
オリジナルインライン関数の宣言:
inline double MyInlineFunction(){
return 3.141592653589;
}
テンプレート機能を使用して代替関数宣言:
template<typename T = void> double MyInlineFunctionT(){
return 3.141592653589;
}
コンパイラがコードを最適化するのに「インライン」を使用していないことを望みますが、リンカの目的のために実行しています。 –
これは現代のコンパイラでは時間の無駄だと思われます。現代のコンパイラは、インライン(おそらくヒントとしてのキーワードを使用して)について、ケースバイケースで独自の決定を下すでしょう。さらに、現代のコンパイラは、通常、未使用のコードを排除することができます。 –
プロポーザルをリンクするためだけに、関数の実装によって別のcppソースファイルを配布してコンパイルしないようにします。 –