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