Heim > Backend-Entwicklung > C++ > Wie erstelle ich in C 11 ein Constexpr-Array von 0 bis N?

Wie erstelle ich in C 11 ein Constexpr-Array von 0 bis N?

Patricia Arquette
Freigeben: 2024-12-02 09:35:10
Original
159 Leute haben es durchsucht

How to Create a Constexpr Array from 0 to N in C  11?

Erstellen eines Consexpr-Arrays von 0 bis N in C 11

Im Bereich der modernen C-Programmierung hat das Konzept der Constexpr-Arrays aufgrund seiner beispiellosen Leistung große Aufmerksamkeit erregt Effizienz und Auswertungsmöglichkeiten zur Kompilierungszeit. Inmitten dieser Innovation stellt sich die Frage: Wie kann man in C 11 ein constexpr-Array im Bereich von 0 bis n erstellen?

Der Schlüssel zu dieser Herausforderung liegt in der leistungsstarken Kombination von constexpr-Konstruktoren und iterativer Initialisierung. Lassen Sie uns das Wesentliche dieses Ansatzes aufschlüsseln:

#include <iostream>

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

int main() {
    constexpr auto a = A<4>();
    for (auto x : a.arr)
        std::cout << x << '\n';
}
Nach dem Login kopieren

In diesem Codeausschnitt definieren wir einen constexpr-Konstruktor innerhalb einer Vorlagenstruktur „A“. Dieser Konstruktor initialisiert mithilfe einer for-Schleife ein ganzzahliges Array „arr“ der Größe N mit Elementen im Bereich von 0 bis N-1.

Indem wir „A“ als constexpr-Objekt mit dem Namen „a“ instanziieren, erstellen wir effektiv ein constexpr-Array, dessen Werte zur Kompilierungszeit berechnet werden. Die nachfolgende Schleife iteriert über dieses Array und gibt seine Elemente im Standardausgabestream aus.

Zusammenfassend lässt sich sagen, dass wir durch die Nutzung der Vielseitigkeit von constexpr-Konstruktoren und der iterativen Initialisierung eine Möglichkeit geschaffen haben, constexpr-Arrays im Bereich von 0 bis zu erstellen n in C 11, was die Effizienz und Evaluierungsfähigkeiten zur Kompilierungszeit demonstriert, die diese Sprache bietet.

Das obige ist der detaillierte Inhalt vonWie erstelle ich in C 11 ein Constexpr-Array von 0 bis N?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage