爲什麼我需要取消引用迭代器?例如在下面的程序爲什麼我需要取消引用迭代器?
#include <iostream>
#include <string>
#include <vector>
int main()
{
using namespace std;
string s("some string");
for(auto it = s.begin(); it != s.end(); && !isspace(*it); ++it)
*it = isupper(*it);
cout<<s;
}
爲什麼需要使用isupper(*it);
而不只是isupper(it);
?
請注意,您引用的代碼沒有意義,因爲您正在爲循環內的字符分配布爾值。你可能想用'toupper()'來代替。 –
是的。在發佈問題後幾秒鐘,我意識到。哈哈! – Slay
你指的是* dereferencing *,而不是引用。 –