"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como inicializar um array `constexpr` do C++ 11 de 0 a N?

Como inicializar um array `constexpr` do C++ 11 de 0 a N?

Publicado em 2024-12-22
Navegar:812

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

Inicializando um array Constexpr de 0 a N em C 11

Em C 11, criar um array constexpr que abrange de 0 a um inteiro especificado n requer um pouco mais esforço do que em versões C posteriores. Veja como isso pode ser feito:

Usando um construtor Constexpr e um loop:

#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 

Neste código:

  • O modelo de estrutura Array representa o array constexpr.
  • O construtor constexpr inicializa os elementos do array de 0 a N-1, usando um loop.
  • Em main(), uma instância de Array é criada e seus elementos são impressos no console. Isso deve gerar 0, 1, 2, 3, 4.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3