Các quy tắc được sử dụng bởi C++ để xác định loại biểu thức số học liên quan đến hai loại số nguyên khác nhau là gì?Quy tắc chuyển đổi số nguyên C++
Nói chung, thật dễ dàng để tìm ra kết quả, tuy nhiên tôi đã gặp các trường hợp với các ký tự int/unsigned bị nhầm lẫn.
Ví dụ: cả hai bên dưới đều là unsigned int
trong VS.
unsigned int us = 0;
int s = 1;
auto result0 = us - s; // unsigned int
auto result1 = s - us; // unsigned int
Điều này có giống với các trình biên dịch khác không? Có quy tắc cụ thể nào để xác định loại không?
Bạn đã đọc [tài liệu] (http://en.cppreference.com/w/cpp/language/auto) chưa? – NathanOliver
Các quy tắc cũng giống như đối với loại khấu trừ mẫu, ngoại trừ trong trường hợp 'auto x {expr};'/'auto x = {expr};'. – Michael
Điều này gần như có vẻ giống như một câu hỏi về loại hình khuyến mãi sau đó tự động khấu trừ. – NathanOliver