递增和递减运算符重载

在迭代器类中通常会实现递增运算符(++)和递减运算符(--),这两种运算符使得类可以在元素的序列中前后移动。C++语言并不要求递增和递减运算符必须是类的成员,但是因为它们改变的正好是所操作对象的状态,所以建议将其设定为类的成员。

时间: 2024-10-30 09:25:10

递增和递减运算符重载的相关文章

递增 (++) 和递减 (--) 运算符

运算   变量值递增一或递减一. 语法 1 result = ++variableresult = --variableresult = variable++result = variable-- 语法 2 ++variable--variablevariable++variable-- 参数 result 任何变量. variable 任何变量. 说明 递增和递减运算符,是修改存在变量中的值的快捷方式.包含其中一个这种运算符的表达式的值,依赖于该运算符是在变量前面还是在变量后面: var j,

java的自动递增和递减运算符

和C类似,Java提供了丰富的快捷运算方式.这些快捷运算可使代码更清爽,更易录入,也更易读者辨读. 两种很不错的快捷运算方式是递增和递减运算符(常称作"自动递增"和"自动递减"运算符).其中,递减运算符是"--",意为"减少一个单位":递增运算符是"++",意为"增加一个单位".举个例子来说,假设A是一个int(整数)值,则表达式++A就等价于(A = A + 1).递增和递减运算符结果

php 递增/递减运算符

php教程 递增/递减运算符 只操作变量的一种运算 递增/递减运算符不影响布尔值.递减 NULL 值也没有效果,但是递增 NULL 的结果是 1.   例子  名称  效果  ++$a  前加  $a 的值加一,然后返回 $a.  $a++  后加  返回 $a,然后将 $a 的值加一.  --$a  前减  $a 的值减一, 然后返回 $a.  $a--  后减  返回 $a,然后将 $a 的值减一. <?php $a=1; echo "前加";     //$a 的值加一,然

C++递增(增量)运算符重载的思考

在前面的章节中我们已经接触过递增运算符的重载,那时候我们并没有区分前递增与后递增的差别,在通常情况下我们是分别不出++a与a++的差别的,但的确他们直接是存在明显差别的. 先看如下代码: #include <iostream>using namespace std; int main(){ int a=0; ++(++a);//正确,(++a)返回的是左值 (a++)++;//错误,(a++)返回的不是左值 system("pause");} 代码中(a++)++编译出错误

JS的递增/递减运算符和带操作的赋值运算符的等价式_javascript技巧

1.递增/递减运算符等价式 a=b++; <=> a=b;b=b+1;a=++b; <=> b=b+1;b=b;a=b--;   <=> a=b;b=b-1;a=--b;   <=> b=b-1;b=b; 所以,a=5;b=6;var3=a++*--b,结果为25 2.带操作的赋值运算符等价式 a*=b;  <=> a=a*b;a/=b;   <=> a=a/b;a+=b;  <=> a=a+b;a-=b;   <=

C++运算符重载函数基础及其值返回状态

运算符重载是C++的重要组成部分,它可以让程序更加的简单易懂,简单的运算符使用可以使复杂函数的理解更直观. 对于普通对象来说我们很自然的会频繁使用算数运算符让他们参与计算,但是对于自定义类的对象来说,我们是无论如何也不能阻止写出像下面的代码一样的程序来的. 例子如下: class Test{ //过程省略}int main(){ Test a,c; c=a+a;} 当然这样的代码是不能够通过编译的,c++对自定类的算术运算部分保留给了程序员,这也是符合c++灵活特性的. 在c++中要想实现这样的

c++-C++ list赋值和类的运算符重载

问题描述 C++ list赋值和类的运算符重载 刚刚发现了个问题,一直卡着我 class CA { public: CA(){} ~CA(){} public: VOID operator = ( CA& msg ) { dwvalue = msg.dwvalue; } private: DWORD dwvalue; }; VOID Fuck1( OUT list& bb ) { list< CA > aa; CA a; CA b; aa.push_back(a); aa.pu

C++学习摘要之七:运算符重载

C++语言中预定义的运算符的操作对象只能是基本数据类型,但是,在实际应用中,对于很多用户自定 义数据类型(如类)也需要类似的功能,这就需要对已有的运算符赋予多种含义,使同一个运算符具有作 用于不同类性的数据导致不同类型的行为,这就是运算符重载.因此,运算符重载的目的是设置C++语言 中的某一运算符,让它们之间并不冲突,C++语言会根据运算符的位置辨别应使用哪一种功能进行运算. 可见,运算符重载的优点是允许改变使用于系统内部的运算符的操作方式,以适应用户新定义类型的类似 运算. 运算符重载的实质是

C++运算符重载赋值运算符

自定义类的赋值运算符重载函数的作用与内置赋值运算符的作用类似,但是要要注意的是,它与拷贝构造函数与析构函数一样,要注意深拷贝浅拷贝的问题,在没有深拷贝浅拷贝的情况下,如果没有指定默认的赋值运算符重载函数,那么系统将会自动提供一个赋值运算符重载函数. 赋值运算符重载函数的定义与其它运算符重载函数的定义是差不多的. 下面我们以实例说明如何使用它,代码如下: //程序作者:管宁//站点:www.cndev-lab.com//所有稿件均有版权,如要转载,请务必著名出处和作者#include <iostr