gpt4 book ai didi

c++ - 如何找出 cstyle cast 的实际作用?

转载 作者:行者123 更新时间:2023-12-04 03:44:53 27 4
gpt4 key购买 nike

我正在使用一个非常古老的代码库,并且有很多 C 风格的强制转换。

我知道 C 风格的转换可以做什么,但我如何快速找出像这样的一行代码的作用:

WhateverClass* oldD = (WhateverClass*)d->GetHandle();

我知道我可以检查代码,找出 GetHandle() 返回的内容,确定它与 WhateverClass 的关系,然后推断出五种可能中的哪一种c 风格转换的结果适用于此。

我仍然是一个容易出错的人,我更喜欢一个没有推理的明确答案。

我使用的是 Visual Studio 2017,但我也有兴趣了解其他 IDE 和编译器。

最佳答案

使用clang-tidy - 这张支票 cppcoreguidelines-pro-type-cstyle-cast标记执行其中任何一个的 c 样式转换:

  • 静态转换
  • 沮丧
  • const_cast
  • 重新解释_cast

更多信息可以从其 source 中阅读.诊断似乎非常准确,使用“-fix”选项您可以尝试自动修复。

还有google-readability-casting来自同一个 clang-tidy。

关于c++ - 如何找出 cstyle cast 的实际作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65338453/

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