为 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 库中,我假设有任何特殊原因不这样做。如上所述,超载
If the <<
运算符包含在 Qt 库中,该库的每个客户端都必须使用完全相同的实现。但由于 QString 的性质,这远不是这些客户想要的。一些在西欧编写与遗留文件交互的软件的人可能想要使用 Latin1() 字符,美国人可能会使用 Ascii(),而更现代的软件可能想要使用 Utf8()。
在库中使用单一实现将会限制整个库的功能,这是令人无法接受的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)