gpt4 book ai didi

c++ - 在 C++ 中转换正确的方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:24:56 25 4
gpt4 key购买 nike

如果这不是一个足够好的问题,我深表歉意(因为我自己的解决方案很有效,所以我实际上没有问题),但这里是。
我的意思是,我是在 C 环境下长大的,后来才学习 C++,所以也许我有偏见,但仍然如此。

在这种特殊情况下,有一个库返回 const char*,而另一个库需要 void* 作为输入。所以如果我想用第一个库的结果调用第二个库,我需要这样写

second(const_cast<void*>(static_cast<const void*>(first())));

对吧?这是唯一正确的方法,对吧?

最佳答案

char* 可以隐式转换为 void*,因此您的代码可以简化为:

second(const_cast<char*>(first()));

只有当 second 的定义就好像其参数的类型为 const void* 时,这才是安全的。

关于c++ - 在 C++ 中转换正确的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8699099/

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