以下代码节选自 C++ Primer 5th Ed.
string s("Hello World");
for (auto &c: s)
c = toupper(c);
cout << s << endl;
这里面有一个引用类型的变量c
。
在for
循环遍历字符串的过程中,这个引用岂不是指向了不同的位置?
不是说引用的指向不能改变吗?
以下代码节选自 C++ Primer 5th Ed.
string s("Hello World");
for (auto &c: s)
c = toupper(c);
cout << s << endl;
这里面有一个引用类型的变量c
。
在for
循环遍历字符串的过程中,这个引用岂不是指向了不同的位置?
不是说引用的指向不能改变吗?
3 回答2.1k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
3 回答3.5k 阅读
3 回答537 阅读✓ 已解决
1 回答3.3k 阅读
1 回答1.1k 阅读✓ 已解决
1 回答2.2k 阅读
这里的c是一个变量(迭代器)的别名,你在更改的是c所指向的内容不是引用