gpt4 book ai didi

c++ - 为什么智能指针没有返回基指针的转换运算符?

转载 作者:太空狗 更新时间:2023-10-29 23:46:06 26 4
gpt4 key购买 nike

如果经常发现自己使用这样的代码:

boost::scoped_ptr<TFoo> f(new TFoo);

Bar(f.get()); // call legacy or 3rd party function : void Bar (TFoo *)

现在,我认为智能指针可以很容易地定义一个隐式转换运算符返回到“原始”指针类型,这将使​​该代码仍然有效,并简化旧代码的“智能化”

Bar(f);

但是,他们没有——或者至少,我发现的那些没有。为什么?

最佳答案

IMO 隐式转换是 C++ 中万恶之源,也是最难追踪的错误之一。

最好不要依赖它们 - 您无法预测所有行为。

关于c++ - 为什么智能指针没有返回基指针的转换运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13702623/

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