5
std::sort(range(c));

とは対照的に

std::sort(c.begin(), c.end();

次の標準が標準アルゴリズムの範囲オーバーロードを提供することを期待していますか?

Boostの範囲イテレータは似たようなものでありiseq()、TC++PL3eで言及されているBjarneStroustrupも同じ考えです。見つけた最新のドラフトを見ましたが、範囲の過負荷については言及されていませんでした。

4

2 に答える 2

4

歴史ページは部分的な答えを提供します。

std名前空間にオーバーロードを追加するという切実な必要性がなければなりません。これはライブラリの問題であることに注意してください。アーカイブを検索して、これらをライブラリに追加するリクエストが以前に発生したかどうかを確認できます。何もない場合は、欠陥レポートを提出できます。現在の言語は、独自のラッパーを作成することを決して妨げません。したがって、問題は、他の多くの人がこれを標準ライブラリでサポートされている機能として望んでいるかどうかに要約されます。しかし、それだけではありません。ライブラリへの拡張であっても、技術的な選択だけでなく、他の多くの地政学的問題によっても導かれます。これを取得するには、一定数の投票が必要です。

率直に言って、これが導入されるのを楽しみにしています。しかし、これは決して、ライブラリがなくてはならない新しい/コア機能ではないことを覚えておいてください。ですから、指を交差させてください。

于 2009-02-18T06:24:21.707 に答える
0

範囲ベースの for ループは、Range の概念を使用していて、私が見つけたドラフト標準の唯一のものです。ほとんどの標準アルゴリズムが Ranges をサポートできるのは当然のことのように思えますが、リンクしたドラフト標準には言及されていません。

于 2009-02-18T15:15:03.973 に答える