【发布时间】:2011-02-21 19:05:10
【问题描述】:
我想知道像这样使用成员运算符. 是否是一种好习惯:
someVector = (segment.getFirst() - segment.getSecond()).normalize().normalCCW();
只是为了展示我想知道的两个不同的事情,即使用(expressions).member/function() 和foo.getBar().getmoreBar() 是否符合可读性和可维护性的精神。在我学习的所有 c++ 代码和书籍中,我从未见过它以这种方式使用过,但它本身却非常容易使用。不过不想养成任何坏习惯。
可能比这更重要(或更不重要),我还想知道以这种方式使用它是否会有任何性能增益/损失,或者会导致程序错误的不可预见的陷阱。
提前谢谢你!
【问题讨论】:
-
var本身就是一个表达式。var.member更是如此。所以按照这个逻辑... -
查看此相关主题:Is this code well-defined?
标签: c++ performance coding-style operator-keyword class-members