[解決済み] 範囲指定型forループを使用する際のイテレータの必要性
2023-04-05 22:29:23
質問
現在、これを使ってレンジベースループしかできません。
for (auto& value : values)
しかし、時々、参照ではなく、値へのイテレータが必要になることがあります(何らかの理由で)。値を比較するためにベクトル全体を通過することなく、何らかの方法があるのでしょうか?
どのように解決するのですか?
古い
for
のようなループを使用します。
for (auto it = values.begin(); it != values.end(); ++it )
{
auto & value = *it;
//...
}
これで、あなたは
value
と同様にイテレータ
it
. 使いたいものを使ってください。
EDITです。
あまりお勧めはしませんが、範囲指定による
for
のループ(ええ。
何らかの理由で
:D)であれば、このようにすることができます。
auto it = std::begin(values); //std::begin is a free function in C++11
for (auto& value : values)
{
//Use value or it - whatever you need!
//...
++it; //at the end OR make sure you do this in each iteration
}
この方法は,与えられた
value
であるため
value
であり
it
は常に同期しています。
関連
-
[解決済み】C++のGetlineの問題(オーバーロードされた関数 "getline "のインスタンスがない
-
[解決済み】浮動小数点例外エラーが発生する: 8
-
[解決済み】ファイルから整数を読み込んで配列に格納する C++ 【クローズド
-
[解決済み] 配列の反復処理に "for...in "を使用するのは、なぜ良くないのでしょうか?
-
[解決済み] なぜpythonはforやwhileループの後に'else'を使うのですか?
-
[解決済み] C++コンテナにおけるイテレータの無効化ルール
-
[解決済み] std::mapで範囲指定for()ループを使用するには?
-
[解決済み】画像処理。コカ・コーラ缶」認識のためのアルゴリズム改良
-
[解決済み】カスタムタイプを「範囲ベースのforループ」で動作させる方法とは?
-
[解決済み] 範囲ベースのforループで転送参照を使用する利点は何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】構造体のベクター初期化について
-
[解決済み】「corrupted size vs. prev_size」glibc エラーを理解する。
-
[解決済み] 既に.objで定義されている-二重包含はない
-
[解決済み】C++プログラムでのコンソールの一時停止
-
[解決済み】#include<iostream>は存在するのですが、「識別子 "cout "は未定義です」というエラーが出ます。なぜですか?
-
[解決済み】クラステンプレートの使用にはテンプレート引数リストが必要です
-
[解決済み】エラー:不完全な型へのメンバーアクセス:前方宣言の
-
[解決済み] [Solved] インクルードファイルが開けません。'stdio.h' - Visual Studio Community 2017 - C++ Error
-
[解決済み】標準ライブラリにstd::endlに相当するタブはあるか?
-
[解決済み】変数やフィールドがvoid宣言されている