0

実際に私が知りたいのは、関数を短いコードに頻繁に使用するか、たとえば main 内に配置する必要があるかということです

main() {
    //something something
    if(condition)i++;   //This is the code for which i want to make function
}

それともこう使うべきか

void incrementi() {
    i++;
    return;
}

main() {
    //something something  
}

実行が速く、読みやすく、または簡単に言えば、どの方法が良い方法ですか?

4

3 に答える 3

1

シモーネ・ペソットは正しい答えを出しました。しかし、その理由を説明したいと思います。関数が呼び出されるたびに、アクティベーション レコードが作成され、呼び出し関数の詳細、関数へのポインター、渡されたパラメーター、呼び出された関数の詳細などと共にプログラミング スタックに配置されます。これには明らかに時間がかかります。代わりに、インクリメント操作のような単純なものは、別の関数を作成するよりもはるかに安価な 1 つのマシン命令だけで済みます。したがって、関数は次の場合に作成されます。

  1. 大きな手術が行われます
  2. プログラム内で何度も操作を繰り返す

この回答が理解を深めるのに役立つことを願っています。

于 2013-06-20T19:20:32.073 に答える
0

この場合、コードは条件と増加によってのみ実行されるため、関数を作成するのではなく、必要なときにコード行を元に戻すことをお勧めします。さらに指示がある場合は、必要なたびに呼び出す関数を作成し、そのコードを再利用することをお勧めします

于 2013-06-20T18:31:49.323 に答える