Trong giấy đề xuất Mẫu C++ 0x Variadic Link có một ví dụ về một lớp hỗ trợ một số thứ nguyên tùy ý. Tôi đã sao chép nó bên dưới:Mẫu biến thể Mảng đa chiều Mảng
template<typename T, unsigned PrimaryDimension, unsigned... Dimensions>
class array { /* implementation */ };
array<double, 3, 3> rotation matrix; // 3x3 rotation matrix
Đáng buồn là việc triển khai không được cung cấp. Vì tôi tương đối mới với các mẫu variadic, tôi sẽ quan tâm đến việc triển khai vùng chứa này.
Nhờ bất kỳ ai có thể cung cấp triển khai đơn giản.
Cảm ơn bạn đã trả lời, Faisal. Điều đó thật đáng kinh ngạc. Rất thanh lịch. Tôi hỏi chủ yếu là vì tôi có một thư viện mảng đa chiều kích thước cố định (Liên kết ở đây: http://code.google.com/p/fsma/) cung cấp các trình bao bọc mỏng xung quanh các mảng 2d và 3d tích hợp và tương tự như std: :mảng. Tôi đã tự hỏi làm thế nào để thực hiện một phiên bản cho phép cho một số tùy ý của các kích thước bằng cách sử dụng các mẫu variadic sau khi tôi đọc các giấy Ủy ban tiêu chuẩn trên chúng. Tôi đã không biết sức mạnh của các mẫu variadic cho đến khi tôi đọc câu trả lời của bạn! – Ricky65
Đối với nhận xét 2011-Aug-14 của @ faisal-vali, tôi không chắc chắn những gì bạn đang cố gắng xây dựng. Sẽ không 'mẫu arrayX ' dịch thành một cái gì đó như 'arrayX ' cho 'long, 2, 3, 5 'như các tham số. Tham số variadic phải mở rộng đến một danh sách được phân tách bằng dấu phẩy, mà các giới hạn mảng lồng nhau không đủ điều kiện. –
CTMacUser
@CTMacUser Có tất nhiên bạn đúng - bình luận của tôi là không có ý nghĩa và nên bị ảnh hưởng. –