我想要派生一個字符串流,以便我可以使用運算符< <構造一條消息,然後將拋出該消息。該API將如下所示:派生streambuf或basic_ostringstream?
error("some text") << " more text " << 42 << std::endl;
這應該做一個
throw "some text more text 42"
因此,我所做的是使一個errorbuf(從流緩衝繼承)的重載「溢出」的方法,然後創建一個ostream( & errorbuf)。我不知道如果我不應該,而不是從basic_ostringstream什麼繼承...
有時,宏是最好的解決方案。 – 2010-03-23 13:55:26