博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[C++] 前置++与后置++
阅读量:5136 次
发布时间:2019-06-13

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

首先需要明确一个概念,就是*p++与(*p)++的区别。

*p++:对p取值,然后对p指针增加。

(*p)++:对p取值,然后对值增加。

 

++a:表示取a的地址,对a的值进行增加,然后把这个值放入寄存器。结果可以作为左值。

实现代码如下:

// return a reference that means this value can be a left-value.int& int::operator++() {    // the empty param means add one in itself space.    // plus one.            *this += 1;    // return value.    return *this;}

 

a++:表示取a的地址,把这个值放入寄存器,然后对内存中的a值进行增加。

实现代码如下:

// the return value is not a left-value.const int int::operator(int) {    // the param is existed that means the param occupy space.    // set old value.    int oldValue = *this;    // plus one in origin value.    ++(*this);    // return old value.    return oldValue;}

 

转载于:https://www.cnblogs.com/immjc/p/7991515.html

你可能感兴趣的文章
Java数据结构和算法(四)--链表
查看>>
JIRA
查看>>
ssl介绍以及双向认证和单向认证原理
查看>>
【BZOJ2441】【中山市选2011】小W的问题(树状数组+权值线段树)
查看>>
小技巧——直接在目录中输入cmd然后就打开cmd命令窗口
查看>>
深浅拷贝(十四)
查看>>
由级别和性格特征将程序员分类 ---看看你属于哪一种
查看>>
HDU 6370(并查集)
查看>>
BZOJ 1207(dp)
查看>>
对我来说,只有一件事情是重要的
查看>>
完整的Socket代码
查看>>
PE知识复习之PE的导入表
查看>>
POJ 3280 Cheapest Palindrome
查看>>
HDU 2076 夹角有多大(题目已修改,注意读题)
查看>>
Objective-C非正式协议与正式协议
查看>>
洛谷P3676 小清新数据结构题(动态点分治)
查看>>
SPOJ DQUERY D-query(主席树 区间不同数个数)
查看>>
八 Civil3d常用显示样式的编辑与创建 ----点标签样式2
查看>>
九校联考-DL24凉心模拟Day2T1 锻造(forging)
查看>>
生产阶段Webpack打包【基础打包】
查看>>