【发布时间】:2022-01-17 05:24:27
【问题描述】:
我有一堂课:
class A
{
public:
A (A& in) {} // How to write a constructor from void* ?
int a;
int b;
const void* data() const { return static_cast<const void *>(this); }
};
我需要通过一个连接传递类数据,该连接需要一个void* 缓冲区并“返回”也void*。一个实例和一些函数:
A a;
void send(void* x);
void receive(void* x);
-
如何键入转换
a以将其作为参数发送到foo()?以下代码无效:foo(static_cast(a));
-
那么,我怎样才能从
void* x指针创建一个新对象?要实现什么构造函数和类型转换?无效* pA; 帕 = ... 一个 a_copy {pA};
-
如果我有一个结构而不是一个类,会有什么区别?我在这里假设 POD 类。
我不想使用 c 风格的强制转换,而是使用 C++ 结构。
【问题讨论】: