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

การลบตัวชี้โมฆะใน C/C++ ปลอดภัยหรือไม่


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

การลบตัวชี้โมฆะใน C/C++ ไม่ปลอดภัย เนื่องจากการลบจำเป็นต้องเรียกตัวทำลายล้างของอ็อบเจกต์ใดๆ ที่มันกำลังทำลาย และเป็นไปไม่ได้ที่จะทำเช่นนั้นหากไม่ทราบประเภท

นี่คือตัวอย่างง่ายๆ ของตัวชี้โมฆะ -

ตัวอย่าง

#include<stdlib.h>
int main() {
   int a = 7;
   float b = 7.6;
   void *p;
   p = &a;
   printf("Integer variable is = %d", *( (int*) p) );
   p = &b;
   printf("\nFloat variable is = %f", *( (float*) p) );
   return 0;
}

ผลลัพธ์

Integer variable is = 7
Float variable is = 7.600000