簡體   English   中英

C ++中的流重載

[英]Stream overloading in C++

為什么void operator<<(ostream out, Test &t); 返回錯誤,而void operator<<(ostream &out, Test &t); 才不是 ?

由於您無法復制流,因此必須按引用傳遞它們。

請注意, operator<<的規范形式是這樣的:

std::ostream& operator<<(std::ostream& out, const Test &t)
{
   // write t into out
   return out;
}

返回流很重要,因此您可以將輸出字符串在一起:

std::cout << Test() << '\n';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM