运算符>>重载中的输入流的目的

input stream's purpose in operator >> overloading

本文关键字:gt 输入流 重载 运算符      更新时间:2023-10-16
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;  

将失败。

编辑:返回值也不会"使用额外的资源"来定义该术语的任何实际定义。 避免对程序进行微优化(我经常在系统上工作,而不是每秒处理超过一千万个事务(是的,我的小数点正确)),我不会担心这样的方法返回值。