Rozmiar bajtu dla typów nie jest zbyt interesujący, gdy masz do czynienia tylko z jednym językiem (i dla kodu, którego nie musisz przypominać o przepełnieniu matematyki). Część, która staje się interesująca, to kiedy łączysz jeden język z drugim, C # do obiektu COM itp., Lub robisz trochę przesuwania bitów lub maskowania i musisz sobie przypomnieć (i współpracownikom weryfikującym kod) wielkości danych.
W praktyce zwykle używam Int32 tylko po to, żeby sobie przypomnieć, jaki mają rozmiar, ponieważ piszę zarządzany C ++ (na przykład do mostkowania do C #), a także niezarządzany / natywny C ++.
O ile zapewne wiesz, w C # ma 64 bity, ale w natywnym C ++ kończy się na 32 bity, lub char to Unicode / 16 bitów, podczas gdy w C ++ jest to 8 bitów. Ale skąd to wiemy? Odpowiedź brzmi, ponieważ sprawdziliśmy to w instrukcji i tak powiedział.
Z czasem i doświadczeniami zaczniesz być bardziej sumienny, pisząc kody w celu pomostu między C # i innymi językami (niektórzy czytelnicy myślą tutaj „dlaczego byś?”), Ale IMHO uważam, że jest to lepsza praktyka, ponieważ Nie pamiętam, co napisałem w zeszłym tygodniu (lub nie muszę podawać w dokumencie API, że „ten parametr jest liczbą całkowitą 32-bitową”).
W języku F # (chociaż nigdy go nie użyłem), definiują int , int32 i nativeint . To samo pytanie powinno się pojawić: „z którego korzystam?”. Jak wspomnieli inni, w większości przypadków nie powinno to mieć znaczenia (powinno być przejrzyste). Ale dla jednego wybrałbym int32 i uint32 tylko po to, aby usunąć niejasności.
Wydaje mi się, że będzie to zależeć tylko od tego, jakie aplikacje kodujesz, kto go używa, jakie praktyki kodowania stosujesz ty i twój zespół itp., Aby uzasadnić, kiedy używać Int32.