使用我自己的String类和<<操作符

Using my own String class with the << operator

本文关键字:操作符 类和 String 我自己 自己的      更新时间:2023-10-16

我正在寻找一种方法来使用ostream与我的自定义字符串类和重载操作符<<流到缓冲区,然后我可以把它刷新到我想要的任何地方(在我的例子中,它只是打印在一个窗口中)

我对iostream的内部工作相当陌生,但是从我的理解来看,我所看到的使std::stringbuf作为自定义stringstream的基础的方法是行不通的,因为stringbuf处理的是std::string。

在本质上我希望能够做到这一点(或类似):

MyStringClass string
MyOutput << "hello" << string << "World" << std::endl;

其中MyOutput可以更改为打印到我想要的任何地方。

谢谢。

没问题。定义你的类,并在它的定义中添加一个ostream& operator<<(const String&);

在该操作符内,您可以编写任何您想要的处理(查看std::string以获得灵感)