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

วัตถุคงที่ถูกทำลายใน C ++ เมื่อใด


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

โปรแกรมที่แสดงวัตถุคงที่ใน C++ มีดังต่อไปนี้

ตัวอย่าง

#include <iostream>
using namespace std;
class Base {
   public :
   int func() {
      int a = 20;
      cout << "The value of a : " << a;
   }
};
int main() {
   static Base b;
   b.func();
   return 0;
}

ผลลัพธ์

ผลลัพธ์ของโปรแกรมข้างต้นมีดังนี้

The value of a : 20

ตอนนี้เรามาทำความเข้าใจโปรแกรมข้างต้นกัน

ฟังก์ชั่น func() ในคลาส Base ประกาศตัวแปร int แล้วแสดงค่าของ a ข้อมูลโค้ดที่แสดงเป็นดังนี้

class Base {
   public :
   int func() {
      int a = 20;
      cout << "The value of a : " << a;
   }
};

ในฟังก์ชัน main() วัตถุสแตติก b จะถูกสร้างขึ้นจากคลาส Base จากนั้นฟังก์ชัน func() จะถูกเรียก เนื่องจากอ็อบเจ็กต์ b เป็นแบบสแตติก มันจะถูกทำลายเมื่อโปรแกรมยุติการทำงานเท่านั้น ข้อมูลโค้ดที่แสดงเป็นดังนี้

int main() {
   static Base b;
   b.func();
   return 0;
}