Như tôi đã phát hiện từ this post các loại tham số cho phép đối với một loại đen người dùng định nghĩa như sau:Làm cách nào để tạo một chữ cái do người dùng xác định cho loại số nguyên đã ký?
const char*
unsigned long long int
long double
char
wchar_t
char16_t
char32_t
const char*, std::size_t
const wchar_t*, std::size_t
const char16_t*, std::size_t
const char32_t*, std::size_t
Vâng, có chữ ký số nguyên duy nhất mà tôi nhìn thấy trong danh sách đó là char
, mà là quá nhỏ. Nếu tôi muốn làm một cái gì đó như thế này:
str operator"" _i(int i) {
return i*2;
}
Sau đó, khi tôi viết -1000_i
tôi mong muốn nhận được -2000
. Làm thế nào để tôi làm điều này?
Sidenote: 'char' có thể hoặc không thể là loại đã ký tùy thuộc vào việc triển khai. – user2079303
'char' (và' wchar_t', 'char16_t' và' char32_t' áp dụng cho các ký tự chữ cái được trích dẫn đơn. Một chuỗi các chữ số luôn luôn là một chữ số nguyên và nó luôn luôn là tích cực, vì dấu '-' là _không phải là một phần của –