c++ - 什么是 void* 以及它可以指向哪些变量/对象

标签 c++ c ios

具体来说,它可以指向int/float等吗? 那么像 NSString 之类的对象呢? 任何例子将不胜感激。

最佳答案

void* 就是这样一个指针,任何指针都可以隐式转换为 void*

例如;

int* p = new int;
void* pv = p; //OK;
p = pv; //Error, the opposite conversion must be explicit in C++ (in C this is OK too)

另请注意,如果没有 const_cast,指向 const 的指针无法转换为 void*

例如

const int * pc = new const int(4);
void * pv = pc; //Error
const void* pcv = pc; //OK

第一个。

关于c++ - 什么是 void* 以及它可以指向哪些变量/对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37709304/

相关文章:

数据结构的 C++ 排序算法

c++ - 为什么链接器报告全局函数的多重定义符号而不是类静态方法

C 两个玩家之间的视觉输出猜谜游戏

c - typedef a struct 不阻止关键字 struct

ios - 使用未解析的标识符 FBSDKAppEventNamePurchased

c++ - 是否有 WinZip 的环境变量或等效变量?

c++ - "STD_OUTPUT_HANDLE"标识符的第一个实例未定义

c - 为atmega328p写一个bootloader

ios - CAGradientLayer 不显示

ios - 为什么 webkit view 连接不上 App Store