c – “auto”的参考和cv剥离属性.

c – “auto”的参考和cv剥离属性.,第1张

概述我知道用这种方式声明一个使用auto的变量 auto var = expr; 基本上就像采用expr和剥离& – & -references的类型,并且从它的所有顶级常量和挥发性.这是否意味着以上行完全等同于以下内容? std::remove_cv<std::remove_ref<decltype(expr)>::type>::type var = expr; 不,这不是真的. auto var 我知道用这种方式声明一个使用auto的变量
auto var = expr;

基本上就像采用expr和剥离& – & -references的类型,并且从它的所有顶级常量和挥发性.这是否意味着以上行完全等同于以下内容?

std::remove_cv<std::remove_ref<decltype(expr)>::type>::type var = expr;
解决方法 不,这不是真的. auto var = expr;更像是通过expr通过值.
int x[1];auto y = x;

这使得y为int *.

主要是自动x = expr;行为像模板类型扣除:

template <typename T>voID f(T);int x[1];f(x); // deduces T as int*

它更像是std :: decay< decltype(expr)> var = expr ;.

总结

以上是内存溢出为你收集整理的c – “auto”的参考和cv剥离属性.全部内容,希望文章能够帮你解决c – “auto”的参考和cv剥离属性.所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1233204.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存