【发布时间】:2010-09-22 16:02:07
【问题描述】:
通过尝试解决this problem,有些事情让我感到奇怪。考虑以下代码:
template <typename T>
struct foo
{
foo(T const& x) : data(x) {}
T data;
};
看来我可以毫无错误地构造foo<T const&> 类型的对象,假设的T const& const& 被理解为T const&。
这似乎也称为 reference collapsing,但我之前从未听说过这个术语(请参阅链接问题中的 cmets)。
这很普遍吗?这是标准吗?
【问题讨论】:
-
+1。我有一些功课要做,谢谢
-
我想链接这个类似的问题:stackoverflow.com/questions/4144234/…
标签: c++