我有一个const vector<uint8_t>>
,我需要将它传递给一个接受const unsigned char*
. 这两种类型的大小相同,等等,所以我猜测这里有一种强制类型的好方法。处理这类问题的惯用方法是什么?
我的第一直觉是使用reinterpret_cast,但是在演员表之后数据不一样了。这是我的代码:
shared_ptr<const vector<uint8_t>> data = operation.getData();
const unsigned char* data2 = reinterpret_cast<const unsigned char*>(&data);
myFunction(data2, data->size());
我可能在这里混淆了一个值的指针,但也许我的整个方法是不正确的。