การเริ่มต้นเป็นศูนย์ กำลังตั้งค่าเริ่มต้นของวัตถุใน c++ เป็นศูนย์
ไวยากรณ์
T{} ;
char array [n] = “”; สถานการณ์ที่มีการดำเนินการเริ่มต้นเป็นศูนย์คือ -
-
ตัวแปรที่มีชื่อพร้อมที่เก็บข้อมูลสแตติกหรือเธรดโลคัลถูกเตรียมใช้งานเป็นศูนย์
-
มันถูกใช้เป็นค่าเริ่มต้นของค่าสำหรับประเภทที่ไม่ใช่คลาสและสมาชิกของคลาสที่ไม่มีตัวสร้าง
-
ใช้เพื่อเริ่มต้นอาร์เรย์อักขระเมื่อความยาวมากกว่าจำนวนอักขระที่จะกำหนด
ข้อควรจำ
-
ตัวแปรบางประเภท เช่น ตัวแปรสแตติกและตัวแปร thread-local ถูกกำหนดค่าเริ่มต้นให้เป็นศูนย์ จากนั้นจะเริ่มต้นใหม่เป็นค่าเมื่อเรียกใช้
-
ตัวชี้ที่มีการกำหนดค่าเริ่มต้นเป็นศูนย์เรียกว่า ตัวชี้ค่า null
ตัวอย่าง
โปรแกรมแสดงการใช้งานการเริ่มต้นเป็นศูนย์ ใน 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