Sqe*_*aky 2 c++ stream sstream
我正在使用模板函数,我正在传递,我可能会将各种类的实例发送到字符串流.我该怎么做才能确保它继续有效?
让我更具体一点,我在哪里定义行为?是否有一些成员应该在每个类上发送到字符串流,如果我在一些增强或扩展现有的String流(我正在考虑构建一个继承自sstream的类并重载<<运算符来处理所有可能的班)?
我甚至无法找到相关文档,所以即使链接到更多资源也会有所帮助.
听起来我想要制作流插入操作符.对于您希望能够输出到流的类,定义自由函数:
std::ostream& operator<<(std::ostream& stream, const SomeClassType& x)
{
stream << x.someData();
return stream;
}
Run Code Online (Sandbox Code Playgroud)
因此,如果我们有SomeClassType z;,并且我们std::cout << z(或任何其他输出流,如fstream或stringstream),编译器将查找并找到我们的函数,并调用它.也就是说,std::cout << z变成operator<<(std::cout, z)并在里面输出你需要的东西.
| 归档时间: |
|
| 查看次数: |
577 次 |
| 最近记录: |