"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo inicializar una matriz `constexpr` de C++ 11 de 0 a N?

¿Cómo inicializar una matriz `constexpr` de C++ 11 de 0 a N?

Publicado el 2024-12-22
Navegar:519

How to Initialize a C  11 `constexpr` Array from 0 to N?

Inicializar una matriz Constexpr de 0 a N en C 11

En C 11, crear una matriz constexpr que abarca de 0 a un entero n especificado requiere un poco más esfuerzo que en versiones C posteriores. Así es como se puede hacer:

Usando un constructor Constexpr y un bucle:

#include 

template
struct Array {
    constexpr Array() : arr() {
        for (auto i = 0; i != N;   i)
            arr[i] = i;
    }
    int arr[N];
};

int main() {
    constexpr auto a = Array();
    for (auto x : a.arr)
        std::cout 

En este código:

  • La plantilla de estructura Array representa la matriz constexpr.
  • El constructor constexpr inicializa los elementos de la matriz de 0 a N-1, usando un bucle.
  • En main(), se crea una instancia de Array y sus elementos se imprimen en la consola. Esto debería generar 0, 1, 2, 3, 4.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3