5
tôi có mã một cái gì đó như thế này:suy luận kiểu của một tuple
template <typename T>
inline typename ::std::enable_if<
is_std_tuple<T>{},
T
>::type
get()
{
// pull tuple's elements from somewhere
}
Để suy ra các thông số mẫu loại các tuple được khởi tạo với, tôi đã đúc này:
static_cast<T*>(nullptr)
và chuyển thông tin này làm tham số cho hàm
template <typename ...A>
void deduce_tuple(::std::tuple<A...>* const);
Tôi có cam kết UB không? Có cách nào tốt hơn?
Không có gì sai khi truyền con trỏ rỗng đến loại, miễn là bạn không coi trọng nó. Tất cả những gì bạn đang cố gắng để làm gì? – Barry
Tôi chỉ cần gói tham số 'A ...' trong hàm và không biết cách thực hiện nó bằng cách khác, ngoại trừ thủ thuật chỉ mục và ':: std :: tuple_element <>' – user1095108
Một lợi ích của việc gắn bó với 'tuple_size' và' tuple_element' là mã của bạn làm việc với 'std :: pair' và' std :: array' quá miễn phí. –