小编ign*_*ant的帖子

使用 static_cast 将任何指针转换为 char 指针

如果根据严格的别名规则 char 指针可能指向任何类型的指针,那么为什么我不能使用 static_cast 将任何类型的指针转​​换为 char 指针?

char *ptr;
int *intPtr;

ptr = reinterpret_cast<char*>(intPtr); // ok
ptr = static_cast<char*>(intPtr); // error: invalid static_cast from type 'int*' to type 'char*'
Run Code Online (Sandbox Code Playgroud)

c++ pointers casting strict-aliasing

4
推荐指数
1
解决办法
2263
查看次数

标签 统计

c++ ×1

casting ×1

pointers ×1

strict-aliasing ×1