การเริ่มต้นเป็นศูนย์ กำลังตั้งค่าเริ่มต้นของวัตถุใน 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