C++运算符技术

SSi*_*ht3 0 c++ methods

程序员在堆栈溢出时提到过,如果你声明一个类函数,例如:

operator++()
Run Code Online (Sandbox Code Playgroud)

对于用户界面目的(因为用户自然认为其相反应该起作用),您应该声明另一个:

operator--()
Run Code Online (Sandbox Code Playgroud)

是否有指向支持此文章的文章的链接?我希望能够将它引用给其他程序员.

我想补充一点,也许这个建议类似于32规则.

根据hostilefork的回答,也许相反的函数应该声明,即使它不服务于某个目的,但作为私有,所以用户明确知道他们不能调用该函数?还是那只是迂腐?

zen*_*hoy 7

这在很大程度上取决于类的语义.例如,前向迭代器将始终定义operator ++,但从不定义operator--.

如果增加某些东西与减少它的意义同样有意义,那么我同意原始陈述,但肯定存在一个有意义但另一个没有意义的情况.