繁体   English   中英

std::add_const,为什么实现可以参考?

[英]std::add_const, why the implementation works for reference?

在 cppreference add_const ,据说我们可以将其实现为:

template< class T> struct add_const { typedef const T type; };

当我尝试引用类型时,例如std::add_const<int&> ,它是int&

我的问题是为什么它可以在没有特定版本供参考的情况下工作,因为int& const是非法的?

在C++11标准的[dcl.ref]p1中,可以找到:

cv 限定的引用是格式错误的,除非通过使用 typedef (7.1.3) 或模板类型参数 (14.3) 引入 cv 限定符,在这种情况下,忽略 cv 限定符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM