Heim > Backend-Entwicklung > C++ > Hauptteil

Wie initialisiere ich ein Konstantenarray in einem Klasseninitialisierer in C?

Patricia Arquette
Freigeben: 2024-11-06 03:44:02
Original
325 Leute haben es durchsucht

How to Initialize a Constant Array in a Class Initializer in C  ?

Initialisieren eines Konstantenarrays in einem Klasseninitialisierer in C

In C erfordert das Initialisieren eines Konstantenarrays innerhalb der Initialisiererliste einer Klasse etwas anderes Ansatz als das Initialisieren anderer Mitgliedsvariablen. Lassen Sie uns den Fall untersuchen, in dem das konstante Array instanzspezifische Werte haben soll.

Betrachten Sie die folgende Klasse:

<code class="cpp">class a {
public:
    const int b[2];
};</code>
Nach dem Login kopieren

Um b mit bestimmten Werten in der Konstruktor-Initialisierungsliste zu initialisieren, verwenden Sie die folgende Syntax:

<code class="cpp">a::a() : b{2, 3} {
    // Other initialization stuff
}</code>
Nach dem Login kopieren

Dieser Ansatz basiert auf der in Klammern eingeschlossenen Initialisierungslistensyntax von C 11, die es Ihnen ermöglicht, ein konstantes Array innerhalb des Klasseninitialisierers zu initialisieren. Hier ist ein Beispiel:

<code class="cpp">struct a {
    const int b[2];

    // Constructor
    a() : b{2, 3} {}
};

int main() {
    a a;
}</code>
Nach dem Login kopieren

In diesem Beispiel verfügt jede Instanz von a über ein eindeutiges b-Array mit den angegebenen Werten. Beachten Sie, dass diese Technik in C 98 oder früheren Versionen nicht verfügbar ist.

Das obige ist der detaillierte Inhalt vonWie initialisiere ich ein Konstantenarray in einem Klasseninitialisierer in C?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!