博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ITEM M6 自增(INCREMENT)、自减(DECREMENT)操作符前缀形式与后缀形式的区别
阅读量:4976 次
发布时间:2019-06-12

本文共 403 字,大约阅读时间需要 1 分钟。

前缀自增

UPInt & UPint::operator++()

{

  *this+=1;

  return *this;

}

后缀自增

const UPInt & UPint::operator++(int )

{

  UPint oldValue=*this;

  ++(*this);

  return oldValue;

}

 

note 1:所以++++i是可以的,i++++是不可以的

note 2:性能上面由于i++后缀自增中有个临时变量,必须被析构,所以为了代码的效率最好用前缀自增

note 3:

  int i=1;

  if(i--){do something}能够进入循环,因为返回的是旧的i;

  if(--i){do something} 不能进入循环,因为返回的是新的i;

转载于:https://www.cnblogs.com/wuxiangli/p/5577764.html

你可能感兴趣的文章
《代码不朽:编写可维护软件的10大要则(C#版)》读后感
查看>>
04、我的.net Core的学习 - 网页版Hello World
查看>>
分块学习
查看>>
[Git] 005 初识 Git 与 GitHub 之分支
查看>>
【自定义异常】
查看>>
pip install 后 importError no module named "*"
查看>>
springmvc跳转方式
查看>>
IOS 第三方管理库管理 CocoaPods
查看>>
背景色渐变(兼容各浏览器)
查看>>
MariaDB 和 MySQL 比较
查看>>
MYSQL: 1292 - Truncated incorrect DOUBLE value: '184B3C0A-C411-47F7-BE45-CE7C0818F420'
查看>>
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
查看>>
springMVC Controller 参数映射
查看>>
【bzoj题解】2186 莎拉公主的困惑
查看>>
Protocol Buffer学习笔记
查看>>
Update 语句
查看>>
HBuilder打包Android apk 支付不了问题解决
查看>>
poj2594——最小路径覆盖
查看>>
欧拉函数
查看>>
关于SQL2008 “不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的标进行了更改或者启用了‘阻止保存要求重新创建表的更改’” 解决方案...
查看>>