我有一個字串函式,我想輸出以下 cout 行。
string print_ticket(void){
if(sold_status == true){
cout<<seat_number<<" "<<seat_number<<"sold";
}
else{
cout<<seat_number<<" "<<seat_number<<"available";
}
}
問題是函式必須回傳一個字串,我不確定在這種情況下將這些 cout 陳述句轉換為字串的最佳方法。
感謝您提供任何幫助。
uj5u.com熱心網友回復:
使用ostringstream, 包括<sstream>:
string print_ticket(void){
std::ostringstream sout;
if (sold_status) {
sout << seat_number << " " << seat_number << "sold";
}
else {
sout << seat_number << " " << seat_number << "available";
}
return sout.str();
}
uj5u.com熱心網友回復:
Derek 的回答可以稍微簡化。普通的舊字串可以連接(也可以鏈接),因此您可以將其簡化為:
string print_ticket(void){
string seat_number_twice = seat_number " " seat_number " "; // seems a bit weird, but hey
if (sold_status)
return seat_number_twice "sold";
return seat_number_twice "available";
}
哪個更有效率?這要看情況。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/477502.html
