Re: [討論] 有無匿名ostream物件做string format?

看板C_and_CPP作者 (かつて交わした約束)時間6年前 (2017/11/28 04:22), 編輯推噓1(104)
留言5則, 2人參與, 6年前最新討論串2/2 (看更多)
※ 引述《Killercat (殺人貓™)》之銘言: <snip> : stringstream log; : log << "This is a PEN : " << pen << " PINEAPPLE!"; : Log(TYPE, CLIENT, log.str().c_str()); : 但是顯然這還是有點麻煩 : 自己是寫了一個ostream拼貼物件讓他看起來像是這樣 : 包含了一個operator const char*() : Log(TYPE, CLIENT, log << "This is a PEN : " << pen << " PINEAPPLE!"); : 來讓他能夠串起來,讓他能夠吃大多數的變數型別 : 問題來了,有沒有std函數能滿足這個需求? : Log希望能讓他們寫的方便一點,不然他們一個個都不想Log了 -o-|| 要從你原先的改法裡單純把變數名吃掉的話是可以硬兜出來啦: static_cast<stringstream&>( stringstream() << "This is a PEN : " << pen << " PINEAPPLE!" ).str().c_str() 要 static_cast 的原因是 operator << 回傳的是 ostream& 不過這顯然比起令一個變數出來還囧... 話說回來, 你這個拼貼物件其實再加一點工就是 boost::format 了 所以如果可以用 boost 的話就用它吧 -- 1985/01/12 三嶋鳴海 1989/02/22 優希堂悟 1990/02/22 冬川こころ 1993/07/05 小町 つぐみ 歡迎來到 1994/05/21 高江ミュウ 1997/03/24 守野いづみ 1997/03/24 伊野瀬 チサト 1998/06/18 守野くるみ 打越鋼太郎的 1999/10/19 楠田ゆに 2000/02/15 樋口遙 2002/12/17 八神ココ 2011/01/11 HAL18於朱倉岳墜機 ∞與∫的世界 2011/04/02 茜崎空 啟動 2012/05/21 第貮日蝕計畫預定 2017/05/01~07 LeMU崩壞 2019/04/01~07 某大學合宿 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.195.9.46 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1511814140.A.6E4.html

11/28 06:42, 6年前 , 1F
對吼好像就是boost::format...我看看我們專案能不能用
11/28 06:42, 1F

11/28 19:25, 6年前 , 2F
不過boost::format效能不太好XD
11/28 19:25, 2F

11/28 19:25, 6年前 , 3F

11/28 20:40, 6年前 , 4F
我們這邊CI還沒搞定 暫時不能弄得太複雜...先用土炮吧
11/28 20:40, 4F

11/28 20:40, 6年前 , 5F
感謝幫我解答的各位 XD
11/28 20:40, 5F
文章代碼(AID): #1Q77FyRa (C_and_CPP)
文章代碼(AID): #1Q77FyRa (C_and_CPP)