Ở đây chúng ta xem hằng số short (short literal) trong C++ như thế nào. Trong C/C++, các kiểu dữ liệu khác nhau có literal khác nhau:
| STT | Kiểu dữ liệu & Literal |
|---|---|
| 1 | int 5 |
| 2 | unsigned int 5U |
| 3 | Long 5L |
| 4 | long long 5LL |
| 5 | float 5.0f |
| 6 | double 5.0 |
| 7 | char '\5' |
Có int, long, float, double... nhưng không có short. Vì vậy không thể dùng literal cho kiểu short. Nhưng có thể giải quyết bằng ép kiểu tường minh.
Nếu dùng dòng sau, giá trị sẽ chuyển thành short:
int x; x = (short) 5; // chuyển thành kiểu short
Ví dụ
#include <iostream>
using namespace std;
main() {
int x;
x = 65700;
cout << "x is (as integer):" << x << endl;
x = (short)65700; // sẽ bị cắt sau 2 byte
cout << "x is (as short):" << x << endl;
}
Kết quả
x is (as integer):65700 x is (as short):164