c++ - 如何区分(重载时)operator++ 的前缀和后缀形式? (C++)

标签 c++ operator-overloading postfix-operator prefix-operator

因为我已经为迭代器类重载了 operator++

template<typename T>
typename list<T>::iterator& list<T>::iterator::operator++()
{
    //stuff
}

但是当我尝试做的时候

list<int>::iterator IT;
IT++;

我收到一条警告,提示没有使用前缀形式的 postifx ++。我怎样才能特别重载前缀/后缀形式?

最佳答案

http://www.devx.com/tips/Tip/12515

class Date {
    //...
    public:
    Date& operator++(); //prefix
    Date& operator--(); //prefix
    Date operator++(int unused); //postfix
    Date operator--(int unused); //postfix
};

关于c++ - 如何区分(重载时)operator++ 的前缀和后缀形式? (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/894804/

相关文章:

c++ - 如果我为一个类实现一个运算符,它是否有可能不是内联的?

c++ - 模板运算符 << 重载和 make_pair

c# - 为什么 Postfix++/-- 在 C# 中被归类为主要运算符?

javascript - 通过前缀和后缀运算符递增数字

c++ - 包含 SDL.h 时 `main' 的多重定义

c++ - 错误 : expected primary-expression before ‘double’ fix?

c++ - C++交叉编译应用平台

c++ - MFC 的 Direct2D 透明度

c++ - 程序没有调用正确的重载运算符

c# - 为什么同时使用前缀和后缀是非法的?