应该归还什么?

时间:2014-03-21 04:16:11

标签: c++

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

这是函数的声明

 vector<int>& operator>>(vector<int>& v, int& x){

   }

我只是想知道这个函数应该返回什么。 我正在尝试实现运算符&gt;&gt;对于矢量类,如果这与我的问题完全相关。

感谢您的帮助

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:0)

vector<int>

应该退回。如果返回vector<int>&,则无法返回新的向量,否则当函数完成且引用无效时,它将被超出范围。如果您返回输入的向量v,那么您需要对其进行mofify,这是不明智的。