【问题标题】:Reinterpret cast in c重新解释 c 中的演员表
【发布时间】:2016-07-12 12:35:11
【问题描述】:

我有一些像这样的 C++ 代码的操作,我想在 C89 中转换:

return reinterpret_cast<uint8_t *>(stream.buffer) - buffer;

如何替换 C 中的重新解释转换?

【问题讨论】:

  • 在 C 中一直只有一种类型的演员表。
  • How can I replace the reinterpret cast in C 你不能替换不存在的东西。

标签: c++ c casting codec


【解决方案1】:

没什么令人兴奋的,你以前看过这个:

(uint8_t *)(stream.buffer)

这是在 C 中强制转换的唯一方法。

【讨论】:

  • 所以重新诠释的演员阵容真的只是“经典”演员阵容?
  • 差不多。 C++ 具有 C 没有的其他类型的强制转换。然而,这并不完全是一对一的比赛。 reinterpret_cast 不像 C 风格的强制转换为子类所做的那样。
【解决方案2】:

您可以简单地使用 C 样式转换:

(uint8_t*)stream.buffer

【讨论】:

    猜你喜欢
    • 2013-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-30
    • 2021-01-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多