C++ (và C) quy tắc bí danh nghiêm ngặt bao gồm rằng char*
và unsigned char*
có thể bí danh bất kỳ con trỏ nào khác.Có một std :: byte con trỏ cùng một ý nghĩa răng cưa như char *?
AFAIK không có quy tắc tương tự cho uint8_t*
.
Vì vậy, câu hỏi của tôi: Quy tắc bí danh cho con trỏ std::byte
là gì?
C++ tài liệu tham khảo hiện nay chỉ specifies:
Giống như các loại ký tự (char, unsigned char, ký char) nó có thể được sử dụng để truy cập vào bộ nhớ nguyên bị chiếm đóng bởi các đối tượng khác (đại diện đối tượng), nhưng không giống như những các loại, nó không phải là một loại ký tự và không phải là một loại số học.
http://en.cppreference.com/w/cpp/language/reinterpret_cast#Type_aliasing Các quy tắc răng cưa cùng áp dụng cho 'std :: byte' như cho' char' – Justin
@Justin: Bạn có thể muốn để rõ ràng hơn một chút, vì "các quy tắc được áp dụng" không nói những quy tắc nào được áp dụng. 'std :: byte' có cùng các quy tắc như' char' và 'unsigned char'. – ShadowRanger
@Justin: Không phải khi bạn đăng lần đầu (bạn có: "en.cppreference.com/w/cpp/language/… Các quy tắc bí danh áp dụng cho' std :: byte' "). Bạn đã chỉnh sửa; Tôi đã tải trước khi chỉnh sửa. Cảm ơn bạn đã sửa. – ShadowRanger