[解決済み】C++でオブジェクトのリストを反復処理する方法とは?
2022-02-08 22:16:02
質問
私はC++の初心者で、どのようにオブジェクトのリストを反復処理し、そのメンバーにアクセスすればよいのかわからず困っています。
私は、以下のように試しています。
data
は
std::list
と
Student
というクラスがあります。
std::list<Student>::iterator<Student> it;
for (it = data.begin(); it != data.end(); ++it) {
std::cout<<(*it)->name;
}
と表示され、以下のエラーが発生します。
error: base operand of ‘->’ has non-pointer type ‘Student’
解決方法は?
あと少しです。
std::list<Student>::iterator it;
for (it = data.begin(); it != data.end(); ++it){
std::cout << it->name;
}
を定義することができることに注意してください。
it
の内部で
for
のループになります。
for (std::list<Student>::iterator it = data.begin(); it != data.end(); ++it){
std::cout << it->name;
}
また、C++11 を使用している場合は、範囲ベースの
for
ループの代わりに
for (auto const& i : data) {
std::cout << i.name;
}
ここで
auto
は正しい型を自動的に推測します。次のように書くこともできます。
Student const& i
の代わりに
関連
-
[解決済み】エラー。引数リストに一致するコンストラクタのインスタンスがない
-
[解決済み】c++で.txtファイルから2次元の配列に読み込む
-
[解決済み] JavaScriptのオブジェクトをループスルーまたは列挙するにはどうすればよいですか?
-
[解決済み] 文字列の単語を反復処理するにはどうすればよいですか?
-
[解決済み] 1ビットのセット、クリア、トグルはどのように行うのですか?
-
[解決済み] C++11では、標準化されたメモリモデルが導入されました。その意味するところは?そして、C++プログラミングにどのような影響を与えるのでしょうか?
-
[解決済み] Bashで変数で定義された数値の範囲を反復処理するにはどうすればよいですか?
-
[解決済み] Javaでenumを繰り返し処理するためのforループ
-
[解決済み] 指定されたディレクトリ内のファイルを反復処理するにはどうすればよいですか?
-
[解決済み】2つのリストを並列に反復処理する方法は?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】getline()が何らかの入力の後に使用されると動作しない 【重複あり
-
[解決済み] [Solved] Error C1083: Cannot open include file: 'stdafx.h'
-
[解決済み】'cout'は型名ではない
-
[解決済み】デバッグアサーションに失敗しました。C++のベクトル添え字が範囲外
-
[解決済み】リンカーエラーです。"リンカ入力ファイルはリンクが行われていないため未使用"、そのファイル内の関数への未定義参照
-
[解決済み】システムが指定されたファイルを見つけられませんでした。
-
[解決済み] 数値定数の前にunqualified-idを付けて、数値を定義することを期待する。
-
[解決済み】なぜ、サイズ8の初期化されていない値を使用するのでしょうか?
-
[解決済み】演算子のオーバーロード C++; <<操作のパラメータが多すぎる
-
[解決済み] 一発勝負の'if'を書くための最もエレガントな方法