C ++中的零初始化

零初始化是将c ++中对象的初始值设置为零。

语法

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

进行零初始化的情况是-

  • 具有静态或线程本地存储的命名变量被初始化为零。

  • 它用作非类类型和没有构造函数的类成员的值的初始化。

  • 当其长度大于要分配的字符数时,可用于初始化字符数组。

要记住的要点

  • 某些类型的变量(例如静态变量和线程局部变量)首先被初始化为零,然后在被调用时重新初始化为一个值。

  • 零初始化的指针称为空指针。

示例

该程序显示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