如何区分(重载时)运算符的前缀和后缀形式? (C )
作者:互联网
因为我为迭代器类重载了运算符
template<typename T>
typename list<T>::iterator& list<T>::iterator::operator++()
{
//stuff
}
但是当我尝试做的时候
list<int>::iterator IT;
IT++;
我使用前缀表单得到关于没有postifx的警告.我怎样才能专门重载前缀/ postifx表单?
解决方法:
编写相同运算符重载的版本,但为其提供int类型的参数.您不必对该参数的值执行任何操作.
如果您对这种语法如何到达的历史感兴趣,请访问there’s a snippet of it here.
标签:postfix-operator,c,operator-overloading,prefix-operator 来源: https://codeday.me/bug/20190926/1819124.html