C++ 迭代器运算符重载++&;——具有参数int但未使用

C++ 迭代器运算符重载++&;——具有参数int但未使用,c++,iterator,operator-overloading,C++,Iterator,Operator Overloading,我在多个来源中发现了这种函数签名。它有一个参数int,但函数逻辑不使用该参数。我不知道为什么会这样定义。如果不需要参数,为什么不直接声明不带out参数的函数呢 iterator operator--(int) { iterator copy(*this); operator--(); return copy; } 谢谢这是一个虚拟参数,只是用来区分不同的属性 int参数是一个伪参数,用于区分 运算符的前缀和后缀版本。当用户定义 调用后缀运算符时,传入该参数

我在多个来源中发现了这种函数签名。它有一个参数
int
,但函数逻辑不使用该参数。我不知道为什么会这样定义。如果不需要参数,为什么不直接声明不带out参数的函数呢

  iterator operator--(int) {
     iterator copy(*this);
     operator--();
     return copy;
  }

谢谢

这是一个虚拟参数,只是用来区分不同的属性

int参数是一个伪参数,用于区分 运算符的前缀和后缀版本。当用户定义 调用后缀运算符时,传入该参数的值为 始终为零,尽管可以通过使用 函数调用表示法(例如,a.operator++(2)或operator++(a,2))