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))