>  기사  >  백엔드 개발  >  C++의 배열 초기화 유형은 무엇입니까?

C++의 배열 초기화 유형은 무엇입니까?

coldplay.xixi
coldplay.xixi원래의
2020-09-12 10:05:5514181검색

C++ 배열 초기화 유형은 다음과 같습니다. 1. 정수 배열 초기화 2. 문자열 초기화 3. 배열의 힙 초기화.

C++의 배열 초기화 유형은 무엇입니까?

C++ 배열 초기화 유형은 다음과 같습니다.

1. 정수 배열 스택 초기화

//默认初始化
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. 문자열 스택 초기화

와 기본적으로 동일합니다. , 생성자가 호출됩니다

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

3. 배열의 기본 초기화

초기화 목록을 명시적으로 지정하지 않으면 기본 유형이 초기화되지 않고(전역 변수 및 정적 변수 제외) 모든 메모리가 초기화됩니다. 더티 데이터가 됩니다. 그리고 사용자 정의 클래스 유형은 초기화를 위해 각 요소에 대한 기본 생성자를 호출합니다.

위 내용은 C++의 배열 초기화 유형은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.