Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 제로 초기화


초기화 제로 C++에서 개체의 초기 값을 0으로 설정하고 있습니다.

구문

T{} ;
char array [n] = “”;

제로 초기화가 수행되는 상황은 -

  • 정적 또는 스레드 로컬 저장소가 있는 명명된 변수는 0으로 초기화됩니다.

  • 비클래스 유형 및 생성자가 없는 클래스 멤버에 대한 값의 초기화로 사용됩니다.

  • 길이가 할당할 문자 수보다 클 때 문자 배열을 초기화하는 데 사용됩니다.

기억해야 할 점

  • 정적 변수 및 스레드 로컬 변수와 같은 일부 유형의 변수는 먼저 0으로 초기화된 다음 호출될 때 값으로 다시 초기화됩니다.

  • 0으로 초기화된 포인터를 널 포인터라고 합니다.

예시

무 초기화의 구현을 보여주는 프로그램 C++에서 -

#include <iostream>
#include <string>
using namespace std;
struct zeroInitialization {
   int x, y, z;
};
float f[3];
int* p;
string s;
int main(int argc, char* argv[]){
   zeroInitialization obj = zeroInitialization();
   cout<<"Zero initialized object variable :\t";
   cout<<obj.x<<"\t"<<obj.y<<"\t"<<obj.z<<"\n";
   cout<<"Zero initialized float value :\t";
   cout<<f[0]<<"\t"<<f[1]<<"\t"<<f[2]<<"\n";
   cout<<"Zero initialized pointer value :\t";
   cout<<p<<"\n";
   return 0;
}

출력

Zero initialized object variable : 0 0 0
Zero initialized float value : 0 0 0
Zero initialized pointer value : 0