工作之余,读了一些boost源代码。里面涉及到一些操作符重载的问题。
关于++x和 x++操作符调用的问题,一直没搞明白。++x调用哪个函数,x++调用哪个函数,分不清楚。
偶然间,阅读了这本<C++API设计>这本书,恍然大悟。
原来,这是c++语法规定的。
记录下,在<C++API设计>书籍的169页。
操作符语法:
操作符在其API中的声明语法。
++x 有两种声明方式:
1. T1 & operator ++(T1 & x);
2. T1 & T1::operator ++();
x++也有两种声明语法.
1. T1 operator ++(T1 & x,int );
2. T1 T1::operator ++( int );
当然,书法还有很多操作符的声明规则,在此就不一一写了。
特此记录下。