Heim >Backend-Entwicklung >C++ >Wie initialisiert man Arrays, die mit dem „new'-Operator in C zugewiesen wurden, effizient?

Wie initialisiert man Arrays, die mit dem „new'-Operator in C zugewiesen wurden, effizient?

Linda Hamilton
Linda HamiltonOriginal
2024-11-16 13:40:03425Durchsuche

How to Efficiently Initialise Arrays Allocated with the `new` Operator in C  ?

Speicher mit neuem Operator in C initialisieren

Abfrage:

C-Anfänger fragen sich oft nach den besten Vorgehensweisen für die Initialisierung Arrays, die mit dem neuen Operator zugewiesen wurden. Ist es vorzuziehen, jedes Element manuell zu durchlaufen und auf 0 zu setzen, oder gibt es eine effizientere Methode?

Antwort:

Überraschenderweise bietet C eine spezielle Syntax für Wertinitialisierende Arrays:

new int[10]();

Es ist wichtig, die leeren Klammern einzuschließen; Die Verwendung von (0) oder anderen Eingaben würde mit dieser Technik nicht funktionieren.

Dieses Verhalten ist in ISO C 03 5.3.4[expr.new]/15 beschrieben, das einen neuen Ausdruck mit einem ()-Initialisierer angibt führt unabhängig vom Array-Typ eine Wertinitialisierung durch.

Im Gegensatz dazu weist die (Ausdruckslisten-)Form der Initialisierung Einschränkungen auf, die Array-Typen nicht zulassen.

Das obige ist der detaillierte Inhalt vonWie initialisiert man Arrays, die mit dem „new'-Operator in C zugewiesen wurden, effizient?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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