如何将常量无效*转换为无符号字符*

How to convert const void* to unsigned char*?

本文关键字:转换 无符号 字符 无效 常量      更新时间:2023-10-16

C 强制转换使用什么C++才能从常量 void* 转换为无符号字符*?

auto ucharptr = (unsigned char*)const_void_ptr;
尝试使用

C++ 强制转换运算符,您需要其中两个:一个用于删除const,另一个用于转换为指针类型:

auto ucharptr = reinterpret_cast<unsigned char*>(const_cast<void*>(const_void_ptr));

试试这个:

const void* ptr = "test example";
auto ucharptr = static_cast<const unsigned char*>(ptr);
//to remove the const ness
unsigned char* test = const_cast<unsigned char*>(ucharptr);

最简单的方法可能是:

unsigned char* ucharptr = reinterpret_cast<unsigned char*>(const_cast<void*>(const_void_ptr));