La plantilla std::is_const de C++ STL está presente en el archivo de encabezado <type_traits> . Si A es una array que tiene un rango mayor que B, la extensión es el límite de la dimensión Ath y si B es cero y A es la array de límite desconocido, entonces el valor de la extensión es cero.
Archivo de cabecera:
#include<type_traits>
Sintaxis:
template <class A, unsigned B = 0> struct extent;
Parámetros: Acepta los siguientes parámetros:
- R : Representa un tipo particular.
- B : Representa las dimensiones para las que se quiere obtener la medida.
A continuación se encuentran los programas para demostrar std::extent():
Programa 1:
// C++ program to demonstrate // std::extent() #include <bits/stdc++.h> #include <type_traits> using namespace std; // Driver Code int main() { // By default dimension is zero cout << extent<int[3]>::value << endl; cout << extent<int[3][4], 0>::value << endl; cout << extent<int[3][4], 1>::value << endl; cout << extent<int[3][4], 2>::value << endl; cout << extent<int[]>::value << endl; const int ints[] = { 1, 2, 3, 4 }; // Used to print the size of array cout << extent<decltype(ints)>::value << endl; return 0; }
Producción:
3 3 4 0 0 4
Programa 2:
// C++ program to demonstrate // std::extent() #include <bits/stdc++.h> #include <type_traits> using namespace std; // Driver Code int main() { typedef int gfg[][50][70]; cout << "gfg array (int[][50][70]):" << endl; cout << "rank: " << rank<gfg>::value << endl; cout << extent<gfg, 0>::value << endl; cout << extent<gfg, 1>::value << endl; cout << extent<gfg, 2>::value << endl; cout << extent<gfg, 3>::value << endl; return 0; }
Producción:
gfg array (int[][50][70]): rank: 3 0 50 70 0
Referencia: http://www.cplusplus.com/reference/type_traits/extent/
Publicación traducida automáticamente
Artículo escrito por bansal_rtk_ y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA