将STL字符串和STL向量转换为void*可以通过以下方法实现:
#include<string>
#include <cstring>
std::string str = "Hello, world!";
void* ptr = static_cast<void*>(const_cast<char*>(str.c_str()));
#include<vector>
std::vector<int> vec = {1, 2, 3, 4, 5};
void* ptr = static_cast<void*>(vec.data());
需要注意的是,这种转换可能会导致类型安全问题,因此在使用时需要谨慎处理。同时,在使用这种转换后的指针时,需要确保其指向的内存仍然有效,以避免出现未定义行为。
领取专属 10元无门槛券
手把手带您无忧上云