以下代码节选自 C++ Primer 5th Ed.
string s("Hello World"); for (auto &c: s) c = toupper(c); cout << s << endl;
这里面有一个引用类型的变量c。在for循环遍历字符串的过程中,这个引用岂不是指向了不同的位置?不是说引用的指向不能改变吗?
c
for
光阴似箭催人老,日月如移越少年。
這裡的c是一個變數(迭代器)的別名,你在更改的是c所指向的內容不是引用
你就當每次循環都會新定義一個作用域只限於一次循環的引用就好了:-)
這裡的c是一個變數(迭代器)的別名,你在更改的是c所指向的內容不是引用
你就當每次循環都會新定義一個作用域只限於一次循環的引用就好了:-)