問題タブ [const-iterator]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - C++17 では、連想コンテナーに (非 const の) iterator を受け取る Erase メンバー関数があるのはなぜですか?
たとえば、 http://en.cppreference.com/w/cpp/container/map/eraseを参照してください。
C++03 には、次の 3 つのオーバーロードがありました。
C++11 では、1 番目と 2 番目のオーバーロードが take に変更され、またはconst_iterator
で呼び出すことができるようになりました。最初のオーバーロードも、要素が消去された後に要素にイテレータを返すようにすることで改善されました。iterator
const_iterator
C++17 では、const 以外のオーバーロードが再導入されました。
なぜこれが必要なのですか?ranged erase
、 、、、insert
などのシーケンス コンテナのいずれにも追加されませんでした。vector
deque
list