C++ 强制转换向量<无符号字符>到无符号字符 *

c++ cast vector<unsigned char> to unsigned char *

本文关键字:无符号 字符 gt lt 转换 向量 C++      更新时间:2023-10-16

我有 std::vector<unsigned char> data = {0x00,0x00,0x00,0x01}; - 我将其传递给的函数需要unsigned char * - 我执行以下操作:unsigned char * converted = static_cast<unsigned char*>(data.data());然后我传递转换为函数。我将在整个代码中广泛使用它。我更喜欢使用矢量,因为我发现它们更容易处理。现在的问题是 - 这个演员表安全吗 - 我的意思是我可以指望它总是有效还是缓慢或糟糕的方法?如果是这样,有什么更好的方法呢?

问候。

怎么样

 std::vector<unsigned char> data;
 unsigned char* converted = &data[0];

(data.size()? &data.front():nullptr)避免了对演员表的任何需求。