我需要在C ++中将const char []转换为uint8_t。什么是最好的方法
A)
const uint8_t* a = (const uint8_t*)"string"; // I hate this cast, but it works
b)中
const uint8_t* a = reinterpret_cast<const uint8_t*>("string"); // is this OK, is it safe?
为什么这不起作用?
const uint8_t* a = static_cast<const uint8_t*>("string"); // will not compile
答案 0 :(得分:2)
第二个解决方案是&#34;最正确的&#34;这样做的方式。 reinterpret_cast将完全由编译器处理,并简单地指向具有不同类型的结果位。第一种解决方案是旧式的,通常不应该在现代C ++中使用。