Giả sử chúng ta có một mẫu chức năng "foo":Một mẫu chuyên môn cho nhiều lớp
template<class T>
void foo(T arg)
{ ... }
tôi có thể làm chuyên môn đối với một số loại đặc biệt, ví dụ
template<>
void foo(int arg)
{ ... }
Nếu tôi muốn sử dụng chuyên môn tương tự cho tất cả các loại BUILTIN số (int, float, double vv) Tôi sẽ viết những dòng nhiều lần. Tôi biết rằng cơ thể có thể được ném ra một chức năng khác và chỉ cần gọi điều này là được thực hiện trong mọi cơ thể của chuyên môn, tuy nhiên nó sẽ đẹp hơn nếu tôi có thể tránh viết "void foo (..." cho mọi loại. bất kỳ khả năng nói với trình biên dịch mà tôi muốn sử dụng chuyên môn hóa này cho tất cả các loại này?
Mục tiêu cuối cùng của bạn là gì? –
Đây không phải là câu trả lời trực tiếp nhưng nó bao gồm chuyên môn hóa so với quá tải và có thể bạn quan tâm: http://www.gotw.ca/publications/mill17.htm – sellibitze