gpt4 book ai didi

c++ - 在 C++ 中重载运算符->

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

我有一个智能指针类,我想重载operator->;它是为了方便而提供的,因此我可以直接访问包含在智能指针中的类的成员。

我正在研究 Boost 在其 shared_ptr 模板中实现此运算符的方式。我注意到他们在返回指针之前添加了一个断言检查指针是否确实非空。目前,我的运算符返回指针而不检查它是否为空(本质上,空指针在我当前的实现中是未定义的行为)。我是否也应该添加此断言?

(还有,这个operator是怎么叫的?我在网上没找到。)

最佳答案

这取决于你。您可以简单地记录将它与空指针一起使用是未定义的并且什么都不做,您可以断言,您可以抛出异常。没有正确答案。就个人而言,我可能会抛出异常。

关于c++ - 在 C++ 中重载运算符->,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6297289/

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