Nếu bạn muốn sử dụng Qt , bạn phải nắm lấy quint8, quint16v.v.
Nếu bạn muốn sử dụng GLib , bạn phải chào đón guint8, guint16v.v.
Trên Linux có u32, s16v.v.
uC / OS định nghĩa SINT32, UINT16v.v.
Và nếu bạn phải sử dụng một số kết hợp của những thứ đó, bạn nên chuẩn bị cho những rắc rối. Bởi vì trên máy tính của bạn u32sẽ typedefkết thúc longvà quint32sẽ typedefkết thúc intvà trình biên dịch sẽ phàn nàn .
Tại sao mọi người làm điều này, nếu có <stdint.h>? Đây có phải là một kiểu truyền thống cho các thư viện?
stdint.hđược phát minh.
sizeof(int) * CHAR_BIT(ví dụ) và sử dụng điều đó? Nếu của bạn intquá nhỏ để đại diện cho phạm vi của bạn (ví dụ: chỉ số mảng), thì bạn gần như chắc chắn không nên sử dụng intdù sao, nhưng một cái gì đó giống như size_t. Tại sao sẽ int32có ý nghĩa hơn? Thời gian duy nhất cố định chiều rộng có ý nghĩa là để giao tiếp giữa các hệ thống (ví dụ như tập tin định dạng / mạng) ...
uint16_t(hoặc có thể fasthoặc leastbiến thể của nó ). Quan điểm của tôi là: Những loại này rất thuận tiện để sử dụng và có lý do tồn tại của chúng.
size_tvà / hoặc uint64_t.