其他分享
首页 > 其他分享> > c stl容器的重载<<运算符

c stl容器的重载<<运算符

作者:互联网

我希望我可以使用cout<<来打印集合/矢量/地图的内容. .对于stl设计器来说,实现起来似乎并不那么困难:假设<<为T定义,<<因为容器可以只遍历元素并使用ofstream<< . 有一种我不知道的简单打印方法吗? 如果没有,是否有简单的解决方案?我读过一些地方,扩展stl类不是一个好主意.是这样,为什么? 如何定义类似重载的打印功能呢?
编辑:
我正在寻找一个可以处理…的容器的递归函数
我同意不同的人会喜欢不同的格式,但是可以覆盖的东西总比没有好

解决方法:

输出STL容器的最简单方法可能是

std::copy(cont.begin(), cont.end(),
          std::ostream_iterator<Type>(std::cout, " "));

其中Type是cont元素的类型(例如,如果cont类型为std :: vector< int&gt ;,则Type必须为int). 当然,您可以使用任何ostream代替std :: cout.

标签:ofstream,c,stl
来源: https://codeday.me/bug/20191011/1894513.html