問題タブ [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++ - std::map::begin() はゴミを含むイテレータを返します
const_iterator termWeight の作成時に問題が発生します。
上の画像でわかるように、termWeight const_iterator には無効なデータがあります。ただし、const std::map ドキュメントは完全に有効な std::map です。これが起こっている理由は考えられません。
最近 std::map::cbegin() が存在することを知りました。代わりにその方法を使用する必要がありますか?
編集:より多くのコンテキストが含まれています
c++ - iterator - c++11 に対応する消去関数がない
この振る舞いを説明することはできません:
ここで、File は自分のクラス (std は含まれていません) であり、this->files は Files のベクトルです
取得したコードをコンパイルすると (行 2を参照)
ドキュメントでさえ問題ない と言っていますが、 std::vector::erase(std::vector::const_iterator&) の呼び出しに一致する関数がないというエラーは本当に奇妙です。
ベクターアイテムをイテレータで削除できるようにする必要があります。誰でも私を助けてもらえますか?あらかじめご了承ください。
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 を使用しています
エラーは次のとおりです。
c++ - STL const_iterator キャスト -- コンパイラの違い
私は gcc から Visual Studio 2013 に大量のbegin()
コードend()
を移植しています。
エラー C2440: '': 'unsigned char *' から 'std::_Vector_const_iterator>>' に変換できません
全体を書き直したくないので、これらの const_iterators を作成する移植可能な方法はありますか?