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
}
我注意到即使我们不返回输入该方法也能正常工作,如果我们不返回输入会不会出现什么问题?如果它什么都不做,我宁愿不放它,因为它使用了不必要的资源。
最佳答案
该方法本身可能工作正常,但如果您链接插入器,它就不会。
std::cout << thisCustomLong << std::endl;
会失败。
编辑:返回值也不会“使用额外资源”来定义术语的任何实际定义。避免微优化您的程序(我经常在系统上工作,每秒处理超过一千万个事务(是的,我的小数点是正确的)),我不会担心像这样的方法返回一个值。
关于c++ - 输入流在运算符中的目的 >> 重载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22184791/