私はこのコードを実行したときに、なぜこのコードを実行するのかを理解する助けが必要です (8,8)(8,8)(0,8)(7,8)(6,8)(5,8)(4,8 )(3,8)(1,8)(0,8)(8,8)を画面に表示します。 関数g
のイテレータu
とv
で増分と減算の演算子がどのように動作するのか分かりません。 私はセットに0,1,3,4,5,6,7,8という要素があることを知っています。しかし、セットを通ってどのように歩いているのか分かりません。このコードは何をスクリーンに印刷しますか?
template <typename T>
std::complex<double> g(T &u, T &v) { return {*--u, *v++}; }
std::set<int> s{3, 8, 4, 7, 0, 1, 1, 5, 7, 3, 6};
std::set<int>::iterator v(s.begin()), w(s.end());
while (v != w) std::cout << g(v, w) << " ";
std::cout << std::endl;
デバッグ方法をいくつか使用する必要があります。印刷デバッギングを使用するか、デバッガを使用して、実行中に1行ずつプログラムを実行します。それはプログラムの中で何が起こっているかを見ている方法です。 – Carcigenicate
*実行すると、何が印刷されますか?あなたは何を期待しましたか?質問を編集して追加してください。 –
私はそれをしましたが、反復子vが8の定数値を持つ理由はまだ分かりません。 – Lamija37