我需要幫助搞清楚爲什麼當我運行這段代碼將打印 (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;
您需要使用一些調試方法即可。使用打印調試或使用調試器,並在程序運行時逐行瀏覽程序。這就是你看到程序內部發生了什麼。 – Carcigenicate
當*你*運行它時,它打印什麼?你期望什麼?請編輯您的問題以包含它。 –
我沒有做到這一點,但我還是不明白爲什麼迭代器V具有的8 – Lamija37