sollte std :: pair <T1, T2> keinen trivialen Standardkonstruktor haben, wenn T1 und T2?

Ich bin auf ein Problem gestoßen, weil

 std::is_trivially_default_constructible<std::pair<T1,T2>>::value == false;

selbst wen

 std::is_trivially_default_constructible<T1>::value == true;
 std::is_trivially_default_constructible<T2>::value == true;

Ich habe keinen guten Grund für dieses Design gefunden. Wäre es nicht angemessen fürstd::pair<T1,T2> Ein ... Haben=default Konstruktor, wennT1 undT2 haben

Gibt es eine einfache Umgehungsmöglichkeit (einfacher als die Definition meines eigenenpair<>)?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage