从 std::vector 检索原始数据指针
问题:
您寻求在接受 void 指针的函数中使用 std::vector 作为 char 数组。尝试直接传递向量或通过其 begin() 迭代器传递向量会导致不正确的数据或编译器警告。
解决方案:
访问 std 的原始数据::向量,使用以下方法之一获取其初始元素的地址:
从 C 11 开始,提供了一个附加选项:
示例:
void process_data(const void *data); std::vector<char> something; // Cast the raw data pointer to char* for compatibility. char *data_ptr = reinterpret_cast<char*>(something.data()); process_data(data_ptr);
以上是如何从 std::vector 检索原始数据指针?的详细内容。更多信息请关注PHP中文网其他相关文章!