应该归还的东西

What should be returned?

本文关键字:归还      更新时间:2023-10-16

我是编程新手,所以我不知道如何准确地描述遇到的问题。

下面是函数 的声明
 vector<int>& operator>>(vector<int>& v, int& x){
   }

我只是想知道这个函数应该返回什么。如果这与我的问题相关,我正试图实现向量类的操作符>>。

Thanks for the help

在这种情况下,您可能正在尝试连锁操作:vec >> int1 >> int2;。这意味着您应该返回第一个参数,以便它可以在下一次调用中使用。

vector<int>& operator>>(vector<int>& v, int& x){
        x = v.back();
        v.pop_back();
        return v;
   }
vector<int>
应该返回

。如果你返回vector<int>&,那么你不能返回一个新的向量,否则当函数结束时,它将在超出作用域时被销毁,并且引用将无效。如果您返回输入的向量v,那么您将需要修改它,这是不明智的。