Cela fait un moment que je n'ai pas fait de C++ mais ces réponses sont un peu fausses.
En ce qui concerne la taille, "int" n'est rien. Il s'agit d'une valeur théorique d'un entier standard, supposé être rapide pour des raisons telles que l'itération. Il n'a pas de taille prédéfinie.
Ainsi, les réponses sont correctes en ce qui concerne les différences entre int et uint, mais sont incorrectes lorsqu'elles parlent de "leur taille" ou de leur étendue. Cette taille est indéfinie, ou plus exactement, elle changera avec le compilateur et la plate-forme.
Il n'est jamais poli de discuter de la taille de ses seins en public.
Lorsque vous compilez un programme, int fait ont une taille, car vous avez pris l'abstrait C/C++ et l'avez transformé en code machine concret.
Donc, AUJOURD'HUI, en pratique, avec les compilateurs les plus courants, ils sont corrects. Mais ne supposez pas cela.
Plus précisément : si vous écrivez un programme 32 bits, int sera une chose, 64 bits, cela peut être différent, et 16 bits est différent. J'ai parcouru les trois et j'ai brièvement regardé les 6502 frisson
Une brève recherche sur Google montre ceci : https://www.tutorialspoint.com/cprogramming/c_data_types.htm C'est aussi une bonne information : https://docs.oracle.com/cd/E19620-01/805-3024/lp64-1/index.html
Utilisez int si vous ne vous souciez vraiment pas de la taille de vos bits ; elle peut changer.
Utilisez size_t et ssize_t si vous voulez connaître la taille d'un objet.
Si vous lisez ou écrivez des données binaires, n'utilisez pas int. Utilisez un mot-clé spécifique (généralement dépendant de la plate-forme ou de la source). WinSDK a beaucoup de bons exemples faciles à maintenir. D'autres plateformes en ont aussi.
J'ai passé BEAUCOUP de temps à parcourir le code de personnes qui "SMH" à l'idée que tout cela n'est que théorique/pédagogique. Ce sont ces personnes qui écrivent du code non maintenable. Bien sûr, il est facile d'utiliser le type 'int' et de l'utiliser sans toute cette fichue saisie supplémentaire. C'est beaucoup de travail pour comprendre ce qu'ils voulaient vraiment dire, et un peu abrutissant.
C'est du codage de merde quand vous mélangez l'int.
Utilisez int et uint lorsque vous voulez simplement un entier rapide et que vous ne vous souciez pas de la plage (autre que signée/non signée).