以下C++代码是否合法?
据我所知,Reference具有平凡析构函数,因此它应该是合法的。
但是我认为引用不能被合法地重新绑定...可以吗?
据我所知,Reference具有平凡析构函数,因此它应该是合法的。
但是我认为引用不能被合法地重新绑定...可以吗?
template<class T>
struct Reference
{
T &r;
Reference(T &r) : r(r) { }
};
int main()
{
int x = 5, y = 6;
Reference<int> r(x);
new (&r) Reference<int>(y);
}
r.~Reference<int>()
,所以析构函数是否琐碎并不真正影响这个问题... - user541686