Привет!
Я хотел бы создать небольшую программу, которая переворачивает часть потока между маркерами, используя потоковые эффекторы и / или манипуляторы. Например:
Из этого:
cout << "что-то" << revstream :: start << "asdf" << 3.14 << revstream :: end << "что-то"; </p>
К этому:
something41.3fdsasomething
Мне бы хотелось, чтобы это работало не только со стандартным cout, и я хотел бы встраивать их несколько раз.
Я новичок в c ++, и мои основные проблемы:
- Я не могу создать новый поток для хранения того, что находится внутри маркеров
- Как реверсировать временный поток?
Я пробовал так много вещей и застрял здесь:
class revstream {
public:
static ostream& start(ostream &os) {
//do the reversing
return ???;
}
static ostream& end(ostream &os) {
return reversedstream;
}
};