Zero initialization là gì?

Noun C++
Khởi tạo bằng không

Khởi tạo bằng không (zero initialization) là đặt giá trị ban đầu của một đối tượng trong c++ thành không.

Cú pháp:


static T object;
Tt = {} ;
T {} ;
char array [n] = " ";

Các tình huống trong đó khởi tạo bằng không (zero initialization) được thực hiện là:

  • Biến được đặt tên với static hoặc thread-local storage được khởi tạo bằng 0.
  • Nó được sử dụng để khởi tạo các giá trị cho các kiểu không phải lớp (non-class type) và các thành viên (member) của một lớp (class) không có phương thức khởi tạo (constructor).
  • Nó được sử dụng để khởi tạo một mảng ký tự (character array) khi chiều dài (length) của nó lớn hơn số ký tự sẽ được gán.

Những điểm cần nhớ:

  • Một số loại biến như biến tĩnh (static variable) và biến luồng cục bộ (thread-local variable) lần đầu tiên được khởi tạo bằng 0, sau đó được khởi tạo lại thành một giá trị khi được gọi.
  • Một con trỏ không khởi tạo (zero-initialized pointer) được gọi là con trỏ null (null pointer).

Ví dụ:

Chương trình hiển thị việc thực hiện khởi tạo bằng không (zero initialization ) trong 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;
}

Output:


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

Learning English Everyday