質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.02%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

2重イテレーターを回す方法で現在の位置を二重目に加算する方法

退会済みユーザー

退会済みユーザー

総合スコア0

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

1回答

0グッド

0クリップ

449閲覧

投稿2022/08/21 10:38

提示コードですが変数iの部分ですが二重目のイテレーターで変数iを利用してbegin()に加算して一重目と同じ物を参照しないようにしているのですが。この変数iを利用しない方法ありますでしょうか?
調べたのですが参考になる記事が出来ません。

参考サイト:http://vivi.dyndns.org/tech/cpp/iterator.html

cpp

1 2/*################################################# 3# 更新 4###################################################*/ 5void Game::Update() 6{ 7 8 for(std::vector<std::shared_ptr<SDL::GameObject>>::const_iterator itr = gameObject.begin(); itr != gameObject.end(); itr++) 9 { 10 (*itr)->Update(); 11 } 12 13 int i = 1; 14 for(std::vector<std::shared_ptr<SDL::GameObject>>::const_iterator itr = gameObject.begin(); itr != gameObject.end(); itr++) 15 { 16 for(std::vector<std::shared_ptr<SDL::GameObject>>::const_iterator it = gameObject.begin() + i; it != gameObject.end(); it++) 17 { 18 (*itr)->Collision(*it); 19 } 20 i++; 21 } 22 23 24} 25

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

2022/08/21 10:56

こちらの質問が他のユーザーから「やってほしいことだけを記載した丸投げの質問」という指摘を受けました。

回答1

1

ベストアンサー

c++

1/*################################################# 2# 更新 3###################################################*/ 4void Game::Update() 5{ 6 7 for(std::vector<std::shared_ptr<SDL::GameObject>>::const_iterator itr = gameObject.begin(); itr != gameObject.end(); itr++) 8 { 9 (*itr)->Update(); 10 } 11 12 for(std::vector<std::shared_ptr<SDL::GameObject>>::const_iterator itr = gameObject.begin(); itr != gameObject.end(); itr++) 13 { 14 for(std::vector<std::shared_ptr<SDL::GameObject>>::const_iterator it = itr + 1; it != gameObject.end(); it++) 15 { 16 (*itr)->Collision(*it); 17 } 18 } 19 20 21}

投稿2022/08/21 11:59

actorbug

総合スコア1758

退会済みユーザー👍を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.02%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。