GIÁO TRÌNH C++ - Trang 46

Con trỏ không kiểu

Con trỏ không kiểu là một loại con trỏ đặc biệt. Nó có thể trỏ tới bất kì loại dữ
liệu nào, từ giá trị nguyên hoặc thực cho tới một xâu kí tự. Hạn chế duy nhất
của nó là dữ liệu được trỏ tới không thể được tham chiếu tới một cách trực tiếp
(chúng ta không thể dùng toán tử tham chiếu * với chúng) vì độ dài của nó là
không xác định và vì vậy chúng ta phải dùng đến toán tử chuyển kiểu dữ liệu
hay phép gán để chuyển con trỏ không kiểu thành một con trỏ trỏ tới một loại
dữ liệu cụ thể.
Một trong những tiện ích của nó là cho phép truyền tham số cho hàm mà không
cần chỉ rõ kiểu

// integer increaser

#include <iostream.h>

void increase (void* data, int type)

{

switch (type)

{

case sizeof(char) : (*((char*)data))++; break;

case sizeof(short): (*((short*)data))++; break;

case sizeof(long) : (*((long*)data))++; break;

}

}

int main ()

{

char a = 5;

short b = 9;

long c = 12;

increase (&a,sizeof(a));

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.