問題タブ [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++ - const_iterator を erase に渡すと、gcc 4.7.1 でコンパイルされない
巨大なエラー:
関連する機能:
なぜこれが起こるのか誰にもわかりますか?私が知っているように、gcc++11 はこの問題をサポートしています。すべての「const」を削除すると、コンパイラは叫びません。
c++ - イテレータの非 const アクセス演算子の代わりに const を呼び出します
STL イテレータの 1 つの上にカスタム イテレータを構築したいと考えています。これは、コンパイル可能であると予想されるコードの簡素化されたバージョンです。
ただし、次のエラー メッセージが表示されます。
私が見る限り、アクセス演算子の非 const バージョンを参照していますが、ここで定数イテレータを明示的に使用すると、なぜですか?
c++ - const boost::iterator_range を作成するにはどうすればよいですか
なぜ boost::find_first は、その入力への非定数参照を取るのですか?のコメント 「反復オブジェクトに十分な寿命があることを「証明」するために、呼び出し元が const_iterator テンプレートパラメーターを使用して非 const iterator_range を作成する」ことを提案します。
これは何を意味し、どのようにすればよいですか?
特に、このコードで const-correctness を達成するにはどうすればよいですか?
templates - コンテナー テンプレート クラス - コンテナー サイズの縮小
テンプレート化されたコンテナー クラスの容量を減らすコードをいくつか書きました。要素がコンテナーから削除された後、消去関数は、合計スペースの 25% が使用されているかどうか、および容量を半分に減らすと、設定した既定のサイズよりも小さくなるかどうかを確認します。これら 2 つが true を返す場合、downsize 関数が実行されます。ただし、const_iterator ループの途中でこれが発生すると、segfault が発生します。
もう一度編集: const_iterator ポインターが古い配列を指していて、downsize() によって作成された新しい配列を指す必要があるためだと思います...どうやってそれを行うのか...
c++ - イテレータからの継承
私がいつも聞いてきたアドバイスは、標準のあらゆるものからの継承は眉をひそめるというものです。私はそれに対して持つべきであり、そうではない関係を持っているべきです。
イテレータに関してはそうではないと思いますよね?iterator
定型文で継承する必要がありますよね?
c++ - どちらが速いか: BOOST_FOREACH マクロまたは for
私は自分のプログラムをテストし、一度、BOOST_FOREACH
マクロを で単純なfor
サイクルに変更することにしましたconst_iterator
。
そして私は予期しない結果を受け取ります:プログラムの動作が遅くなりfor
ます。
それから私は小さなテストアプリを書きました:
ここに出力があります:
なんでそうなの?
c++ - コンパイラは const オーバーロードを呼び出すかどうかをどのように認識しますか?
string foo
私が呼び出すと、与えられた:
の 2 つのオーバーロードがありstring::begin
ます。1 つは を返し、もう 1 つはを返しstring::iterator
ますstring::const_iterator
。の種類を知るにはどうすればよいbar
ですか? foo
これは単にそうであるかどうかに基づいてconst
いますか?