我创建了一个名为 CardDeck (c ++)的类,其中包含vector<card*> deck
私有成员。
我将operator []重载到这个类:
Card* CardDeck::operator[](int i) const{
return this->deck[i];}
您可以看到它返回卡* 而不是卡*&amp; 。当我尝试使用Card *&amp;但是,根据我的理解,它没有编译vector [i]返回第i个元素引用 - 就像写成here一样。
那怎么会像这样编译而不是用Card *&amp; ?
答案 0 :(得分:2)
您不能从// document.location.href = "https://stackoverflow.com/questions/7909686/the-javascript-equivalent-of-this-php-function"
schema = "https://"
document.domain = "stackoverflow.com"
scriptName = "/questions/7909686/the-javascript-equivalent-of-this-php-function"
成员函数返回非const
引用,因为它允许调用者修改对象。只需返回const
的副本,或者如果您想允许调用者修改指针,请不要将您的函数标记为Card*
。
另请注意,如果您希望能够访问const
上下文中的值并从非const
上下文中修改它们,则可以同时使用这两个值:
const