c – 操作符<< for QString
发布时间:2020-12-16 03:27:09 所属栏目:百科 来源:网络整理
导读:实现对于QString来说: std::ostream operator (std::ostream stream,const QString str){ stream str.toAscii().constData(); //or: stream str.toStdString(); //?? return stream;} 而不是写作 stream str.toAscii().constData(); 每次在代码中. 然而,由
实现<<对于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库中,我假定有任何特殊原因不这样做.重载的风险/不便是什么?如上所述? 解决方法
如果<操作符被包含在Qt库中,库的每个客户端都必须使用完全相同的实现.但是由于QString的本质,这远远不是这些客户想要的.有些写西班牙传统文件软件的人可能想使用Latin1()字符,美国人可能会用Ascii()和更多的现代软件可能想使用Utf8(). 在图书馆中进行单一的实施将会限制整个图书馆可以做的事情.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |