Tôi chạy vào một vấn đề vìkhông nên std :: pair <T1,T2> có constructor mặc định tầm thường nếu T1 và T2 có?
std::is_trivially_default_constructible<std::pair<T1,T2>>::value == false;
ngay cả khi
std::is_trivially_default_constructible<T1>::value == true;
std::is_trivially_default_constructible<T2>::value == true;
Tôi thất bại trong việc tìm ra một lý do chính đáng cho thiết kế này. Nó sẽ không thích hợp cho std::pair<T1,T2>
để có một nhà xây dựng =default
nếu T1
và T2
có?
Có một công việc đơn giản xung quanh (đơn giản hơn việc xác định pair<>
của riêng tôi) không?
Ai đó nên [gửi vấn đề thư viện] (https://isocpp.org/std/submit-a-library-issue). – edmz