如何解决调用方如何知道应调用哪个同名成员函数
我今天看到以下代码。
我知道返回引用和返回const引用之间的区别。
但是我不知道何时会调用 T&运算符() *,何时调用const T&运算符() const *将被调用。
它们具有相同的名称。
VlcLibDirectoryNeeded
解决方法
但是我不知道何时会调用T&operator()*,何时调用const T&operator()const *。
它们具有相同的名称。
在这种情况下,如果在const
对象上调用成员函数,则将调用const
方法,并且将为非const对象调用non-const方法。 / p>
调用者如何知道应调用哪个同名成员函数?
他们不知道,他们也不应该。重载集的全部意义在于,调用者不知道调用了哪个确切的重载。这旨在成为实现细节。从重载集中调用函数时,调用者应使用相同的语法。
由重载集的作者根据调用函数的参数来完成正确的事情。
如果您确实希望调用者知道调用了哪个函数,那么不要完全使用重载集,只需提供具有不同名称的函数即可。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。