c++中 void*的使用
2016-03-23 19:08
281 查看
说明
指针变量包含两个信息,地址和数据的类型。而void*是一种特殊的指针,其只包含地址而不包含类型。int a; void *vpa = &a; //可以 int *ipa = vpa; //错误,正确方式如下。 int *ipa = (int*)vpa; //可以,强转以后才可以 int b = *vpa; //错误,void*类型不能具体化
作用
用来传递不确定类型的参数。也常用于回调函数中,传入批量的参数;void function(int dataType, void* data) { // 根据dataType的不同值,进行不同的转换 switch (dataType) { case 0: int* a = (int*)data; case 1: char* a = (char*)data; ... } }
相关文章推荐
- 贪心算法 水题 求中间数(problem Q)
- C++获取数组的长度(用模板可以实现)
- C++ 个人所得税
- C++求某年某月的天数
- C++扬帆远航——13(个人所得税计算器)
- 2016年,C语言该怎样写
- c++编译器模板机制剖析
- C++ 阶乘
- C语言:全局变量在多个c文件中公用的方法 [转]
- C++扬帆远航——12(抓小偷)
- C++设计模式之工厂方法模式(Factory Method)
- C++学习(一)——安装gcc编译环境
- C++ primer 读书笔记--第一章 快速入门
- C语言-将输入的字符输出并将多个空格按照一个空格的方式输出
- 贪心算法——机器据木条(problem B)
- c++多线程编程
- 数值极限类 大笑一般来说,数值类型的极值是一个与平台相关的特性。c++标准程序库通过template numeric_limits提供这些极值,取代传统C语言所采用的预处numeric_limits
- c++之模板
- C语言第六篇:用switch语句实现四则运算器
- C++扬帆远航——11(斐波那契数列)