程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了auto 和 auto& 和 const大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决auto 和 auto& 和 const?

开发过程中遇到auto 和 auto& 和 const的问题如何解决?下面主要结合日常开发的经验,给出你关于auto 和 auto& 和 const的解决方法建议,希望对你解决auto 和 auto& 和 const有所启发或帮助;
auto x1 = exp1;
auto& x2 = exp2;

我是否正确理解使用 auto (x1) 声明的变量永远不会是 const,即使 exp1const(例如,一个返回 { {1}})。如果 exp2 为 const,则 with const(x2) 为 const。即使 auto 是一个指针。

auto&

这里尽管我使用 cbegin 和 cend 它将是非常量迭代器,并且要成为 const_iterator 我应该写

auto it = find(cont.cbegin(),cont.cend(),value);

解决方法

我是否正确理解使用 auto (x1) 声明的变量永远不会是 const

正确。

当使用 auto&(x2) 时,如果 exp2 为常量,则为常量。

引用永远不是常量;引用不能是 cv 限定的。 x2 可以是 const 的引用。

auto it = find(cont.cbegin(),cont.cend(),value);

这里尽管我使用 cbegin 和 cend 它将是非常量迭代器

it 将是 const_iterator 类型的非 const 限定对象。

const auto it1 = find(cont.cbegin(),value);

it1 将是 const_iterator 类型的 const 限定对象。

通过 const_iterator 间接(通常)为您提供对 const 的引用,因此您无法修改指向的对象。

const 对象(通常)不能被修改。因此,例如,您不能增加 const 限定的迭代器。

大佬总结

以上是大佬教程为你收集整理的auto 和 auto& 和 const全部内容,希望文章能够帮你解决auto 和 auto& 和 const所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:auto&const