返回引用并仅返回引用

时间:2013-11-16 10:50:35

标签: c++

我有以下函数,它是Grid类的一部分:

T& select(unsigned int x, unsigned int y)
{
    return nodes[x + width * y].element;
}

有没有办法可以强制编译器拒绝从返回的T构造T&而不删除T的拷贝构造函数(甚至可能不是类)?

auto n = grid.select(1,1); // this should be illegal

1 个答案:

答案 0 :(得分:0)

当您返回引用时,代码的用户以后使用它完全不受您的控制。他们可以使用您的引用来创建副本的事实在该语言中是有效的。