簡単な例として、次のコードを見てください (または、テンプレートやその他の一般的なコーディング手法ではなく、配列固有のコードを想像してください)。
int a[] = {1,2,3,7,8,9,55};
vector<int> v(a, end(a));
copy(v.begin(), v.end(), ostream_iterator<int>(cout, " "));
ここで、またはおそらく別の設定で使用するコーディング上の理由があるかどうか疑問に思っていましたstd::begin
(スタイル/一貫性/将来のコード変更との互換性など以外)。実際に必要な場所はありますか?
begin(a)
コーディングの実践に関して、そこを使用することについてどう思いますか? 無意識に を呼び出すと、C++ での配列とポインターの基本的な操作を知らないように見えるリスクがあるため、私にとっては扱いにくいトピックですstd::begin
。現実的には、コンテナーを変更する機能は必要ないかもしれません。つまり、さあ。実際にコンテナを変更すると、コンパイラのバグが発生し、3 秒で修正されます。
「時期尚早の最適化」について聞いたことがあるでしょう。std::begin
ここでの使用を「時期尚早の一般性」と呼びます。