auto x1 = exp1;
auto& x2 = exp2;
我是否正确地理解了用auto
(x1)声明的变量永远不会是const
,即使exp1
是const
(表示ex )。返回const
的函数)。with with auto&
(x2)将是const,如果exp2将是const。即使汽车是一个指针。
auto it = find(cont.cbegin(), cont.cend(), value);
在这里,尽管我使用cbegin和cend,但它将是非const迭代器,要成为const_iterator,我应该编写
const auto it1 = find(cont.cbegin(), cont.cend(), value);
发布于 2021-07-14 14:37:10
我是否正确地理解用auto (x1)声明的变量永远不会是const
对,是这样。
当
使用auto&(x2)时,exp2将为const。
引用永远不是const;引用不能是cv限定的。x2
可以作为 const的参考。
auto = find(cont.cbegin(),cont.cend(),value);
在这里,尽管我使用cbegin和cend,但它将是非const迭代器。
it
将是const_iterator类型的非const限定对象.
const autoit1= find(cont.cbegin(),cont.cend(),value);
it1
将是const_iterator类型的const限定对象。
通过const_iterator (通常)向您提供对const的引用,因此不能修改指定的对象。
不能(通常)修改const对象。因此,例如,不能增加const限定迭代器。
https://stackoverflow.com/questions/68379890
复制相似问题