c – 操作符<< for QString

前端之家收集整理的这篇文章主要介绍了c – 操作符<< for 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库中,我假定有任何特殊原因不这样做.重载的风险/不便是什么?如上所述?

解决方法

如果<操作符被包含在Qt库中,库的每个客户端都必须使用完全相同的实现.但是由于QString的本质,这远远不是这些客户想要的.有些写西班牙传统文件软件的人可能想使用Latin1()字符,美国人可能会用Ascii()和更多的现代软件可能想使用Utf8(). 在图书馆中进行单一的实施将会限制整个图书馆可以做的事情.
原文链接:https://www.f2er.com/c/111389.html

猜你在找的C&C++相关文章