我有以下代碼:我如何免費ostringstream?
int n=2;
ostringstream convert; // stream used for the conversion
convert << n;
string query= convert.str();
我怎麼能免費ostringstream?
我有以下代碼:我如何免費ostringstream?
int n=2;
ostringstream convert; // stream used for the conversion
convert << n;
string query= convert.str();
我怎麼能免費ostringstream?
隨着生命週期管理:
std::string query;
int n = 2;
{
std::ostringstream oss;
oss << n;
query = oss.str();
}
短,但有點更難閱讀:
int n = 2;
std::string query
= static_cast<std::ostringstream &>(std::ostringstream() << n).str();
可能更好,根據您的情況:
auto query = std::to_string(2);
它工作正常。日Thnx。 – user2036891 2013-02-13 10:38:12
隨它去吧超出範圍:
int n=2;
string query;
{
ostringstream convert;
convert << n;
query = convert.str();
}
你不需要釋放流。該流在堆棧上,所以它會自動銷燬。
我該如何釋放ostringstream?
如果用「free」表示實例的「釋放資源」,那麼讓它超出範圍。
int n=2;
string query;
{
ostringstream convert; // stream used for the conversion
convert << n;
qyuery = convert.str();
}
如果你的意思是 「清除內容」,那麼你可以使用:
int n=2;
ostringstream convert; // stream used for the conversion
convert << n;
string query1 = convert.str();
// clear the contents & reset error bits (thanks @PeterWood)
convert.str("");
convert.clear();
convert << n + 1;
string query2 = convert.str();
不要忘記重置任何錯誤位。 – 2013-02-13 10:39:52
走出去的範圍 – StoryTeller 2013-02-13 10:21:20
的菌種問題http://stackoverflow.com/questions/5288036/how-to-? clear-ostringstream? – bystander 2013-02-13 10:23:28
@bystander:那個奇怪的問號是什麼?你在進行同形異義詞攻擊嗎? – 2013-02-13 10:39:58