Trong C++ chuẩn 11 (khoản 3.3.9/3) tôi tìm thấy đoạn mã này:tên thực thể như con trỏ đến T trong danh sách tham số mẫu
template<class T, T* p, class U = T> class X { /∗ ... ∗/ };
Ai có thể giải thích cho tôi biết là có thể (và hữu ích) mã có thể chứa trong nội dung của lớp X? Sử dụng thông số p
ofcourse.
IMHO đoạn mã chỉ ở đó để chứng minh rằng thông số mẫu có thể phụ thuộc vào thông số mẫu trước. –
@ πάντα ῥεῖ, tôi biết. Nhưng khi tôi nhìn thấy con trỏ như tên tham số mẫu tôi nghĩ: "Trong trường hợp này có thể hữu ích"? và không thể tìm thấy câu trả lời ngoại trừ như thế này: 'constexpr T * ptr = nullptr;' và sau đó sử dụng 'ptr' làm tham số. – alexolut
Có hoặc bất kỳ địa chỉ liên tục hợp lý và hợp lệ nào khác (xem xét chuyển sang kim loại trần, ví dụ: giao diện bus mở rộng, v.v.). –