istream & operator >>(istream & input, CustomLong & longi)
{
string inputstring;
input >> inputstring;
vector<long> trans;
for (int i = 0; i<inputstring.length(); ++i)
{
trans.push_back((long)(str.at(i)-'0'));
}
(longi.classVec) = trans; // assign vector to the class variable
return input; //works fine without it
}
我注意到即使我们不返回输入,该方法也能正常工作,如果我们不返回输入会有任何问题吗?如果它没有做任何事情,我宁愿不把它,因为它使用不必要的资源。
答案 0 :(得分:2)
该方法本身可以正常工作,但如果你是链接插入器,它不会。
std::cout << thisCustomLong << std::endl;
会失败。
编辑:对于术语的任何实际定义,返回值也不会“使用额外资源”。避免微优化你的程序(我经常在系统上工作,而不是每秒处理超过一千万个事务(是的,我的小数点正确))我不会担心这样的方法会返回一个值。