gpt4 book ai didi

c++ - 为什么我不能将 char* 静态转换为 std::byte*?

转载 作者:行者123 更新时间:2023-12-01 23:33:53 25 4
gpt4 key购买 nike

我知道我可以使用 reinterpret_cast,但我不能从 char 转到像 std::byte 这样的“通用”类型,这似乎很奇怪。这只是不幸的错误/限制,还是有原因?

Example :

int main(){
std::string s{"abc"};
std::byte* ptr = static_cast<std::byte*>(s.data());
}

最佳答案

静态转换仅适用于:

  1. 数值类型
  2. 可能相关的类类型指针/引用(向上和向下)。
  3. 指向/fom 空指针的指针。
  4. 激活转换构造函数/运算符

就是这样。

将事物重新解释为字节是一种重新解释。

关于c++ - 为什么我不能将 char* 静态转换为 std::byte*?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65902422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com