-4

さまざまなコンテストで c++ の高速 i/o についてネットで検索していたところ、高速入力関数が 1 つ見つかりました。しかし、私はC ++の初心者であり、その関数を使用して入力する単純なプログラムに実装できませんでした。したがって、その関数を使用して変数を入力するようなコード例を誰かが提供できれば、本当に助かります。これが私が見つけた機能です:-

inline void fastRead(int *a)
{
 register char c=0;
 while (c<33) c=getchar_unlocked();
 *a=0;
 while (c>33)
 {
     *a=*a*10+c-'0';
     c=getchar_unlocked();
 }
}
4

1 に答える 1

3

I/O の速度がプログラムの問題になるまでは、I/O の速度について心配する必要はありません。時期尚早の最適化を行うと、特に最適化を実行する理由を理解していない場合は、プログラムの実行が遅くなるか、最適化を見つけるのにかかった時間が節約された合計時間よりも長くなる可能性があります。最適化する必要があると考えていたことが、プログラムを遅くする原因ではなかったという事実により、最適化はプログラムの存続期間にわたって行われます。

読みやすく保守しやすいコードに固執し、完成したアプリケーションのプロファイルを作成して I/O が本当のボトルネックであることがわかったら、戻って最適化された I/O などを実行します。

于 2012-11-05T06:10:54.973 に答える