Dan*_*Dan 8 c++ undefined-behavior c++11
我使用std::array的chars到持有未知的原始类型,这是不超过10个字节长,像这样的一个值:
std::array<char, 10> val;
*reinterpret_cast<double*>(val.data()) = 6.3;
//blah blah blah...
double stuff = *reinterpret_cast<double*>(val.data());
Run Code Online (Sandbox Code Playgroud)
我已经读过,来回转换char *并不是未定义的,因为编译器假设char *可以为任何类型的值设置别名.当值放在(我假设的)char对象内部的s 数组时,这仍然有效吗?
注意:我知道我可以在这里使用union,但这会导致我正在做的大量样板代码,并且我想在必要时避免它,因此问题.
| 归档时间: |
|
| 查看次数: |
505 次 |
| 最近记录: |