C++ Primer 5th を読んでいるときに、次のようなコードに遭遇しました。
string s("some string");
if (s.begin() != s.end())
{
auto it = s.begin();
*it = toupper(*it);
}
it
イテレータから string の最初の文字までの値を受け取りますs
。その後、 によって大文字に変更されtoupper()
ます。it
逆参照できるのはどうしてですか?ポインターではなく、char 型の変数であるべきではありませんか?