[英]Returning a reference and only a reference
我有以下函數,它是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
當您返回引用時,代碼的用戶以后如何使用它完全不受您的控制。 他們可以使用您的參考來創建副本這一事實在該語言中是有效的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.