Giả sử tôi có một hàm template:C++ 11: Template Function Chuyên cho Integer loại
template<typename T>
void f(T t)
{
...
}
và tôi muốn viết một chuyên môn hóa cho tất cả các loại nguyên nguyên thủy. Cách tốt nhất để làm việc này là gì?
Những gì tôi có nghĩa là:
template<typename I where is_integral<I>::value is true>
void f(I i)
{
...
}
và trình biên dịch chọn phiên bản thứ hai với nhiều loại nguyên, và phiên bản đầu tiên cho tất cả mọi thứ khác?
Có chuyên môn mẫu cho các chức năng trong C++ 11 không? Tôi nghĩ trong C++ 03 nó chỉ là quá tải. –
Tôi đã tìm kiếm một cái gì đó tương tự, nhưng không thành công. tất cả những gì tôi có thể làm chỉ là xác định một mẫu bình thường, và bên trong tôi kiểm tra nếu tham số đã cho là kiểu số nguyên –
@AlexanderChertov có trong C++ 03, nhưng [nó phức tạp] (http://www.gotw.ca /publications/mill17.htm). Điều tương tự áp dụng cho C++ 11. – juanchopanza