Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ตัวแปร C ++ Local และ Global เริ่มต้นโดยค่าเริ่มต้นอย่างไร


ต่อไปนี้จะเหมือนกันสำหรับตัวแปรทั้งโลคัลและโกลบอล โดยทั่วไป เมื่อใดก็ตามที่คุณประกาศตัวแปร คอมไพเลอร์จะเรียกตัวสร้างเริ่มต้นของมัน เว้นแต่คุณจะระบุเป็นอย่างอื่น

ประเภทระดับภาษา (เช่น พอยน์เตอร์, 'int', 'float', 'bool' ฯลฯ) "ตัวสร้างเริ่มต้น" ไม่ได้ทำอะไรเลย มันแค่ปล่อยให้หน่วยความจำเหมือนกับเวลาที่มีการประกาศ ซึ่งหมายความว่ามันสามารถเป็นอะไรก็ได้ เพราะปกติแล้วคุณมักจะไม่แน่ใจว่ามีอะไรอยู่ในหน่วยความจำนั้นก่อนหน้านี้ หรือแม้แต่หน่วยความจำมาจากไหน

หากคุณสร้างคลาสที่ไม่มีคอนสตรัคเตอร์ คอมไพเลอร์จะสร้างคลาสให้คุณโดยเรียกคอนสตรัคเตอร์ของสมาชิก/ตัวแปรแต่ละตัว หากคุณมีคอนสตรัคเตอร์ที่มีอาร์กิวเมนต์ และไม่มีคอนสตรัคเตอร์ที่ไม่มีอาร์กิวเมนต์ คอมไพเลอร์จะส่งข้อผิดพลาดที่ไม่พบคอนสตรัคเตอร์ที่ตรงกัน