【发布时间】:2015-12-20 07:29:33
【问题描述】:
在 c++ 中将 void* 转换为 char* 的最佳/最安全方法是什么?
static_cast 还是 reinterpret_cast?
void I2C::Read(void* buffer, DWORD address, UINT size)
{
if (_isDeviceAvailable)
{
_iicInstance.seekg(address, std::ios_base::beg);
_iicInstance.read(reinterpret_cast<char *>(buffer), size);
Gpio::SVSet();
}
}
【问题讨论】:
-
C++ 中没有
PVOID或PCHAR。也许您打算用特定的实现标签来标记这个问题? :-) -
void*和char*将是相同的大小,所以你所要做的就是投射它。 -
所以不管使用什么演员阵容?
-
在这种特殊情况下,两个演员做同样的事情。