QVector和std :: vector的大小方法

Ash*_*hot 3 c++ qt types vector

的大小的方法QVector的类型的int,但在相同的方法std::vectorunsigned.为什么会有区别.是不是无符号类型是保持大小的正确方法,因为它不能是否定的?

Zet*_*eta 6

因为他们在1999年进行了讨论并得出int了更好的选择,因为返回的函数数量uint相对较少,并且他们对警告感到不满:

Subject: Re: killing uint as return type in Qt.
From: Alex Sandro Queiroz e Silva <asandro@xxxxxxxxxxxxx>
Date: Wed, 17 Mar 1999 15:29:37 -0300 (EST)
Cc: qt-interest@xxxxxxxx
To: Arnt Gulbrandsen <arnt@xxxxxxxx>
Run Code Online (Sandbox Code Playgroud)

1999年3月17日,Arnt Gulbrandsen写道:

Qt中大约0.15%的函数返回uint.其中大多数称为QMumble :: size()或QMumble :: count().这些函数永远不需要返回负数,所以实际上,uint是他们返回的正确类型.

但至少对我来说这是一件令人讨厌的事.我一直将它们与整数进行比较,将它们放在可以包含负数的变量中,依此类推.我写过

 if ( blah->count() < i )
Run Code Online (Sandbox Code Playgroud)

并且已经有很多次编译警告.

所以我正在考虑在Qt 2.0中将这些函数的返回类型更改为int.你怎么看?你是用户 - 你想要正确性和完全向后兼容性还是你想要更方便?

--Arnt

我觉得这次便利性更好,我们现在都可以从这个方法中得到一些结果,所以...

- Alex asandro@lcg.dc.ufc.br