TQC*_*ier 6 c++ type-conversion
有没有办法转换char[]成unsigned char*?
char buf[50] = "this is a test";
unsigned char* conbuf = // what should I add here
Run Code Online (Sandbox Code Playgroud)
虽然它在技术上可能不是100%合法,但这将起作用reinterpret_cast<unsigned char*>(buf).
这不是100%技术合法的原因是由于第5.2.10条第expr.reinterpret.cast7 节.
指向对象的指针可以显式转换为指向不同类型对象的指针.原始类型产生原始指针值,这种指针转换的结果是未指定的.
我认为这意味着*reinterpret_cast<unsigned char*>(buf) = 'a'未指明但是*reinterpret_cast<char*>(reinterpret_cast<unsigned char*>(buf)) = 'a'没关系.
就投了吗?
unsigned char *conbuf = (unsigned char *)buf;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13526 次 |
| 最近记录: |