共用方式為


tuple_size 類別

報告 tuple 包含的元素數目。

語法

// TEMPLATE STRUCT tuple_size
template <class Tuple>
   struct tuple_size;

// number of elements in array
template <class Elem, size_t Size>
   struct tuple_size<array<Elem, Size>>
      : integral_constant<size_t, Size>;

// size of pair
template <class T1, class T2>
   struct tuple_size<pair<T1, T2>>
      : integral_constant<size_t, 2>

// size of tuple
template <class... Types>
   struct tuple_size<tuple<Types...>>
      : integral_constant<size_t, sizeof...(Types)>;

// size of const tuple
template <class Tuple>
   struct tuple_size<const Tuple>;

// size of volatile tuple
template <class Tuple>
   struct tuple_size<volatile Tuple>;

// size of const volatile tuple
template <class Tuple>
   struct tuple_size<const volatile Tuple>;

template <class T> inline constexpr size_t tuple_size_v = tuple_size<T>::value;

參數

Tuple
Tuple 的類型。

Elem
陣列元素的類型。

Size
陣列的大小。

T1
第一個配對成員的類型。

T2
第二個配對成員的類型。

Types
元組元素的類型。

備註

類別範本的成員 value 是整數常數運算式,其值是 Tuple 類型 Tuple 的範圍。

陣列的樣板特製化有一個成員 value,其是值為 Size 的整數常數運算式,而該值是陣列的大小。

配對的樣板特製化有一個成員 value,其是值為 2 的整數常數運算式。

範例

#include <tuple>
#include <iostream>

using namespace std;

typedef tuple<int, double, int, double> MyTuple;
int main()
{
    MyTuple c0(0, 1.5, 2, 3.7);

    // display contents "0 1 2 3"
    cout << get<0>(c0);
    cout << " " << get<1>(c0);
    cout << " " << get<2>(c0);
    cout << " " << get<3>(c0) << endl;

    // display size "4"
    cout << " " << tuple_size<MyTuple>::value << endl;
}
0 1.5 2 3.7
4

需求

標頭:<tuple>

標頭: <array> (適用于陣列特製化)

標頭: <utility> (針對配對特製化)

命名空間:std