- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我一直在学习 Deitel 的 C++ 基础知识和 mr. Deitel 强调重载标准运算符以向自定义类及其成员提供标准功能。我的意思是例如而不是 cout << object.memberFunction();
我可以简单地说 cout << object;
这种技术确实允许链接和更快的输入,但它需要运算符重载实现,即使你我还是个新手,我觉得代码实际上变得可读性差,特别是如果有很多类成员你必须记住哪些是运算符重载等等。没有重载运算符,代码可读性更强,而且您可以保存重载代码。
所以我的问题是我是否应该花时间学习运算符重载?我是 C++ 的新手,欢迎有更多实践和经验的人回答。运算符重载的好处是否会超过实现它的努力和代码可读性的降低?
最佳答案
您当然应该花时间学习运算符重载。然而,这并不意味着您应该或不应该使用运算符重载。但如果不学习,你就无法真正做出决定。决定使用您不熟悉的东西是很困难的,如果不是不可能的话。您总会发现您不了解的东西更难使用,即使它实际上更容易。
话虽这么说,但要根据具体情况做您认为最好的事情。如果在您的情况下,您发现代码因运算符重载而可读性较差,请务必不要这样做。然而,在某些情况下它很有用。但由于通常重载运算符是为了提高可读性,如果您发现它不适用于您的情况,请远离它。
关于c++ - 重载运算符以将我自己的类作为标准类处理是一种好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7913522/
在我生活的世界中,构建一个将所有飞镖都扔到墙上的解决方案,并希望其中一些能命中靶心是一种非常糟糕的解决方案方法。 那么,我的问题出现了,什么时候在约定可接受的生产系统中使用 INSERT IGNORE
在数据处理时,经常会因为index报错而发愁。不要紧,本次来和大家聊聊pandas中处理索引的几种常用方法。 1.读取时指定索引列 很多情况下,我们的数据源是 CSV 文件。假设
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 6 年前。 Improve
我是一名优秀的程序员,十分优秀!