Tom*_*Tom 3 c++ visual-c++ c++11
如果调用std :: vector :: begin()但将返回的迭代器分配给引用会发生什么?为什么它可以工作,迭代器值存储在哪里?
std::vector<int> v;
auto a = v.begin(); //I assume iterator is stored on the stack in variable "a".
auto& b = v.begin(); //What happens here?
Run Code Online (Sandbox Code Playgroud)
这条线
auto& b = v.begin();
Run Code Online (Sandbox Code Playgroud)
是一个错误,因为v.begin()返回一个临时的,你不能将临时绑定到非const引用.
| 归档时间: |
|
| 查看次数: |
548 次 |
| 最近记录: |