我有这样的代码:Qt的QDataStream:运营商>>为quint16 - 我没有得到它在所有
QByteArray portnoStr = "41034";
quint16 portno;
QDataStream stream(&portnoStr, QIODevice::ReadOnly);
stream >> portno;
std::cout << "portno: " << portno << "\n";
而作为完全出乎意料其打印
PORTNO:13361
我看的Qt的代码(4X + 5×):
inline QDataStream &QDataStream::operator>>(quint16 &i)
{ return *this >> reinterpret_cast<qint16&>(i); }
现在我明白为什么它给了我这样的结果,但我不明白为什么QDataStream有这样奇怪的实现?