這是有道理的實施< <爲QString的一樣:操作<<爲QString的
std::ostream& operator <<(std::ostream &stream,const QString &str)
{
stream << str.toAscii().constData(); //or: stream << str.toStdString(); //??
return stream;
}
,而不是寫
stream << str.toAscii().constData();
代碼每次
。
但是,由於它不在標準的Qt庫中,我假設沒有這樣做的任何特殊原因。如上所述超載< <有什麼風險/不便?
我不明白爲什麼它是有道理的使用str.toAscii()代替toLatin1()或toUtf8()或toLocal8Bit()? – fjardon 2013-04-29 14:35:15
@fjardon - 沒有特別的理由:)你提到的任何一個我認爲會起作用。 – 2013-04-29 14:38:01
他們在7位乾淨的字符串之外做了非常不同的事情。 – Yakk 2013-04-29 14:39:40