C++14 Wikipedia page описывает новую функцию языковой tuple addressing by type, с которым вы могли бы сделать запись:C++ 14 кортежей для адресации по типу - разве это не делает вообще недействительное предположение?
tuple<string, string, int> t("foo", "bar", 7);
int i = get<int>(t); // i == 7
Ну, в общем, это не удается, то есть в общем случае кортеж имеет более одного элемента того же типа. Это довольно специфический (хотя и обычный, допускаю) тип кортежей, которые имеют одно значение для каждого типа; и этот вид рода get подразумевает семантику get<T>(t)
, являющуюся видом T
-представления t
, как будто значения в разных типах так или иначе связаны.
Почему хорошая идея иметь такой метод, который не применяется в общем случае и, по-видимому, имеет отношение к некоторым, ну, я думаю, вы могли бы сказать подклассы кортежей?
Это хорошо в тех случаях, когда он работает, и вы не должны использовать его в остальное время. Это действительно больно? –