問題タブ [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.

0 投票する
2 に答える
1152 参照

c++ - std::map::begin() はゴミを含むイテレータを返します

デバッガウォッチ

const_iterator termWeight の作成時に問題が発生します。

上の画像でわかるように、termWeight const_iterator には無効なデータがあります。ただし、const std::map ドキュメントは完全に有効な std::map です。これが起こっている理由は考えられません。

最近 std::map::cbegin() が存在することを知りました。代わりにその方法を使用する必要がありますか?

編集:より多くのコンテキストが含まれています

0 投票する
2 に答える
3363 参照

c++ - iterator - c++11 に対応する消去関数がない

この振る舞いを説明することはできません:

ここで、File は自分のクラス (std は含まれていません) であり、this->files は Files のベクトルです

取得したコードをコンパイルすると (行 2を参照)

ドキュメントでさえ問題ない と言っていますが、 std::vector::erase(std::vector::const_iterator&) の呼び出しに一致する関数がないというエラーは本当に奇妙です。

ベクターアイテムをイテレータで削除できるようにする必要があります。誰でも私を助けてもらえますか?あらかじめご了承ください。

0 投票する
0 に答える
86 参照

c++ - list::const_iterator から list::iterator を取得する方法

stl::list への (非 const) 参照と、そのリスト内の特定の場所への const_iterator がある場合、同じ場所を指す反復子を取得するにはどうすればよいですか? (その位置の要素を消去したいのですが、リストには const_iterators の消去メソッドがありません)

リストへの非定数参照がある場合にのみ機能するため、これは定数の正確性に違反するべきではないようです。

編集:

ちょっと待って、CPP リファレンスを見てください: http://www.cplusplus.com/reference/list/list/erase/それはあなたが const_iterator で erase() を呼び出すことができると言います。では、なぜ私のコンパイラは不平を言っているのでしょうか? gcc 4.6 --std=c++0x を使用しています

エラーは次のとおりです。

0 投票する
2 に答える
501 参照

c++ - STL const_iterator キャスト -- コンパイラの違い

私は gcc から Visual Studio 2013 に大量のbegin()コードend()を移植しています。

エラー C2440: '': 'unsigned char *' から 'std::_Vector_const_iterator>>' に変換できません

全体を書き直したくないので、これらの const_iterators を作成する移植可能な方法はありますか?