C++指向不同类型的指针
C++ pointers to different types
假设我在C++中有一个函数,它可以返回指向整数、字符串或双精度的指针。此函数的返回类型是什么?
我还想要一个变量,一旦函数返回该返回值,它就可以存储该返回值。我应该使用相同的类型吗?
唯一的匹配项是 void*
。
void* pResult = foo();
要稍后使用该值,您必须转换为 int*
、 string*
或 double*
。因此,您需要以某种方式跟踪实际类型。
一种方法是菲利普回答中展示的void*
方式
另一种方法是将类型封装object
在派生自某个公共基对象(即 Object
Java
中,QObject
Qt
中(,并让您的函数返回公共基对象。
QObject obj = foo();
检查您正在使用的库,也许您可以使用一些现有的公共基类。
顺便说一句,我认为模板函数也是解决问题的好方法。
相关文章:
- 接收和返回函数指针的函数指针的类型?
- 推断指针非类型模板参数的类型
- 在自定义 std::vector-like 容器中处理指针和非指针模板类型的最佳方法是什么?
- 专门C++使用指针值类型的通用迭代器的模板函数?
- 在C++中,为什么需要提及指针的类型?
- 对于非常量指针类型的参数,未调用具有常量指针模板类型参数的功能
- 指针数据类型变量如何包含对象?
- memcpy是否取决于源指针和目标指针的类型
- 指向 2D 数组的指针的类型是什么?
- 如何在 c++ 中实现指针的类型
- 为什么要为指针返回类型返回一系列字符?
- 如何安全地更改指针的类型
- C++中的 vptr(虚拟指针)类型
- 为什么您必须为指针指定类型
- 如何为指针创建类型定义
- 从弱指针返回类型返回共享指针
- C 不能将带有父类指针作为类型的静态模板成员定义引用
- 表达式必须在C 中具有指针对象类型
- 下标需要数组或指针类型表达式必须具有指针对象类型
- const自动参考绑定到(NULL)指针 - 实际类型是什么