我有一个智能指针类,我想重载operator->
;提供它是为了方便,这样我就可以直接访问智能指针中包含的类的成员。
我正在研究 Boost 在其中实现该运算符的方式shared_ptr
模板。我注意到他们添加了一个断言,在返回指针之前检查指针是否确实为非空。目前,我的运算符返回指针而不检查它是否为空(本质上,空指针在我当前的实现中是未定义的行为)。我也应该添加这个断言吗?
(还有,这个操作员怎么称呼?我在网上找不到这个。)
由你决定。您可以简单地记录将其与空指针一起使用是未定义的并且不执行任何操作,您可以断言,您可以抛出异常。没有正确的答案。就我个人而言,我可能会抛出异常。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)