Heim  >  Artikel  >  Backend-Entwicklung  >  Welche Arten der Array-Initialisierung gibt es in C++?

Welche Arten der Array-Initialisierung gibt es in C++?

coldplay.xixi
coldplay.xixiOriginal
2020-09-12 10:05:5514181Durchsuche

Die Arten der C++-Array-Initialisierung umfassen: 1. Initialisierung eines Ganzzahl-Arrays; 2. Initialisierung eines Strings; 4. Heap-Initialisierung eines Arrays;

Welche Arten der Array-Initialisierung gibt es in C++?

Die Arten der C++-Array-Initialisierung sind:

1. Initialisierung der Integer-Array-Stack-Initialisierung

//默认初始化
int a[5] = {};    //[0, 0, 0, 0, 0]
//全部初始化为0
int a[5] = {0};    //[0, 0, 0, 0, 0]
//c++11新写法
int a[5]{};    //[0, 0, 0, 0, 0]
//注意,想要整型数组 全部初始化为1的时候不能粗暴的设置为 
int a[5] = {1};    //[1, 0, 0, 0, 0]
// 因为 数组初始化列表中的元素个数小于指定的数组长度时, 不足的元素以默认值填补。
//可以分别赋值
int a[5] = {1,1,1,1,1}; //[1,1,1,1,1]

2. Initialisierung der String-Stack-Initialisierung

Im Grunde dasselbe , der Konstruktor wird aufgerufen

string *str = string[5];    //调用5次默认构造函数
string *str1 = string[5]{"aaa"};    //数组中的第一个元素调用 string::string(const char *)  进行初始化。后面四个调用 默认构造函数

3. Standardinitialisierung des Arrays

Wenn die Initialisierungsliste nicht explizit angegeben wird, werden die Grundtypen (außer globalen Variablen und statischen Variablen) und der gesamte Speicher nicht initialisiert Es handelt sich um schmutzige Daten. Und der benutzerdefinierte Klassentyp ruft den Standardkonstruktor für jedes Element zur Initialisierung auf

Das obige ist der detaillierte Inhalt vonWelche Arten der Array-Initialisierung gibt es in C++?. 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