这个问题可能是主观的,因此

std::ostream& operator << (std::ostream & o, const SomeClass &a) {
    return o << a.accessor().. ;
}

通常何时为编写的类定义此函数,何时避免为您的类编写此 friend 函数。

最佳答案

如果我想流式传输一个类,我通常会这样写:

std::ostream& operator << (std::ostream& o, const SomeClass& a)
{
    a.print(o);
    return o;
}

然后在SomeClass上打印一个const方法,该方法知道如何将该类序列化为流。

关于c++ - 何时为类定义ostream运算符<<?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/502345/

10-16 07:29