在 cppreference 中add_const,据说我们可以将其实现为:
template< class T> struct add_const { typedef const T type; };
Run Code Online (Sandbox Code Playgroud)
当我尝试引用类型时,例如std::add_const<int&>? 它是int&。
我的问题是为什么它可以在没有特定版本供参考的情况下工作,因为它int& const是非法的?
在C++11标准的[dcl.ref]p1中,可以找到:
cv 限定的引用是格式错误的,除非通过使用 typedef (7.1.3) 或模板类型参数 (14.3) 引入 cv 限定符,在这种情况下,忽略 cv 限定符。
| 归档时间: |
|
| 查看次数: |
78 次 |
| 最近记录: |