reinterpret_cast可以用来跨模块分享一个指针(不安全,后果自负)。
int main() {
char* p = new char[200];
int64_t i64 = reinterpret_cast<int64_t>(p);
char buffer[25];
_ui64toa_s(i64,buffer,25,10);
string str(buffer);
}
把 str 和它的长度包装成 json ,传给其他模块即可;其他模块解析时先解析 json,再把 str reinterpret_cast 成 char*。
有啥用呢?
在一些无法拓展自定义类型的图形开发环境中,可以这样跨模块传递自己的类型。