は、コードのこの部分を考えてみましょう:私は行くことができます今すぐ実行時に違いはありますか?
class A {
void methodX() {
// snip (1 liner function)
}
}
class B {
void methodX() {
// same -code
}
}
他の方法は、私は、そのメンバーのほとんどが静的で、クラス(のAppManagerを)持っている、である(私のシングルトンを示唆していない、レガシーコードから;) )
class AppManager {
public:
static void methodX(){
// same-code
}
}
どちらを優先するべきですか? 両方ともインライン展開されているため、実行時の違いはありませんか?
どのフォームがよりクリーンですか?
コンパイラの最適化は最も低いレベルで最もうまく動作しますが、最高レベルでは完全に失敗します(つまり、「これは手元のタスクに最適なアルゴリズムです」)。したがって、このレベルではなく、コンパイラができないレベルで最適化する必要があります。 – MSalters