From: Heikki J. J. <hj...@gm...> - 2009-08-20 20:30:04
|
I was getting rid of all "signed vs. unsigned" warnings. I found that it is sometimes quite tricky to keep track on the correct type. One of the most distinct differences between qt and c++ is std::vector vs. QVector. If you take .size() function, the former returns size_t while the latter returns int. The same is present with std::string and QString. If you take .length() (alias of .size()) function, the former returns size_t while the latter returns int. It was also a slight surprise for me that #DEFINE NO_TRACK 0xDEADBEEF defines an unsigned int -- it is assigned into a int variable. I agree now with Chris that it would be better to have only signed data types. Unsigned int is not better than ordinary int in indexing if you try to get, for example, index -1 or 0xfffffff : variable[1-2] Thus, by using signed int you will have the same (possible) indexing problem, but at least you know that 1-2 = -1. -- Heikki |