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

ตัวแปร Local และ Global ใน C++ ถูก initialize แบบ default อย่างไร?

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

Language-level types (เช่น pointers, int, float, bool) "default constructor" ไม่ทำอะไรเลย แค่ทิ้ง memory ไว้เหมือนตอนประกาศ หมายความว่าค่าอาจเป็นอะไรก็ได้ เพราะคุณไม่แน่ใจว่า memory นั้นเคยมีค่าอะไรหรือมาจากไหน

หากคุณสร้าง class ที่ไม่มี constructor คอมไพเลอร์จะสร้างให้โดยอัตโนมัติ ซึ่งแค่เรียก constructor ของแต่ละ member/variable หากคุณมี constructor ที่มี arguments แต่ไม่มี constructor ที่ไม่มี arguments คอมไพเลอร์จะ error ว่า matching constructor not found