Computer >> Máy Tính >  >> Lập trình >> lập trình C

Xóa một con trỏ void trong C / C ++ có an toàn không?

Con trỏ Void là một con trỏ không liên kết với bất kỳ kiểu dữ liệu nào. Nó trỏ đến một số vị trí dữ liệu trong bộ nhớ có nghĩa là trỏ đến địa chỉ của các biến. Nó còn được gọi là con trỏ mục đích chung.

Không an toàn khi xóa con trỏ void trong C / C ++ vì xóa cần gọi hàm hủy của bất kỳ đối tượng nào mà nó đang phá hủy và không thể thực hiện điều đó nếu nó không biết loại.

Đây là một ví dụ đơn giản về con trỏ void -

Ví dụ

#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;
}

Đầu ra

Integer variable is = 7
Float variable is = 7.600000