Espacios de nombres
Variantes

std::tuple_size(std::array)

De cppreference.com
 
 
 
 
<tbody> </tbody>
Definido en el archivo de encabezado <array>
template< class T, std::size_t N > struct tuple_size< std::array<T, N> > : std::integral_constant<std::size_t, N> { };
(desde C++11)

Proporciona acceso al número de elementos en un std::array como una expresión constante en tiempo de compilación.

Heredado de std::integral_constant

Constantes miembro

value
[estático]
N, el número de elementos en el array.
(constante miembro pública estática)

Funciones miembro

operator std::size_t
Convierte el objeto a std::size_t, devuelve value.
(función miembro pública)
operator()
(C++14)
Devuelve value.
(función miembro pública)

Tipos miembro

Tipo Definición
value_type std::size_t
type std::integral_constant<std::size_t, value>

Ejemplo

#include <iostream>
#include <array>

template<class T>
void prueba(T t)
{
    int a[std::tuple_size<T>::value]; // puede usarse en tiempo de compilación
    std::cout << std::size(a) << '\n';
}

int main()
{
    std::array<float, 3> arr;
    prueba(arr);
}

Salida:

3

Véase también

Vínculo estructurado (C++17) Vincula los nombres especificados a subobjetos o elementos de una tupla del inicializador. [editar]
Obtiene el tamaño de una tupla en tiempo de compilación.
(especialización de plantilla de clase) [editar]