cout对象在全局只能拥有一个

发布时间 2023-11-04 21:52:34作者: DawnTraveler

1.问题

在学习符号重载的过程中,有一个想法
std::ostream& operator<<(std::ostream &cout, Person &p);
中std::ostream &cout能不能不使用引用,而使用std::ostream cout?

但是报错:Call to deleted constructor of 'std::ostream' (aka 'basic_ostream')

2.解决

cout作为全局对象只能有一个,如果使用std::ostream cout就是创建了一个cout的拷贝对象,这样就会报错。