cout 是否被隐式复制?
例如,下面代码中传递给第二个重载运算符的 cout 对象与其实现中的 cout 对象是同一个对象还是 cout 的拷贝?
我的理解是第一个实现是正确的,因为 << 运算符适用于任何 ostream 对象,例如它适用于写入文件的 ofstream 对象。
//First implementation
ostream& operator<<(ostream& os, const Date& dt)
{
os << dt.mo << '/' << dt.da << '/' << dt.yr;
return os;
}
//Second implementation
ostream& operator<<(ostream& os, const Date& dt)
{
cout << dt.mo << '/' << dt.da << '/' << dt.yr;
return cout;
}
//using second implementation on object date
cout<<date;
最佳答案
关于c++ - cout 对象是否仍然是单个实例,即它永远不会被复制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18753706/