(六十七)前缀、后缀运算符号在其他地方的使用

简介:

如i++,是后缀; ++i,是前缀。

这种可以用在其他地方,比如指针。

代码1:


#include<iostream>
#include<string>

int main()
{
	using namespace std;
	int i=1;
	string a = "abcdefg";
	cout << a[0] << endl;	//显示string类字符串的第一个字母
	cout << char(++a[0]) << endl;	//++a[0]和a[0]+1是等价的,显示这个字符串的第二个字母,
	//之所以用char括起来,是因为将之强制转换为字符显示
	system("pause");
	return 0;
}


输出:

a
b
请按任意键继续. . .

注意:

①a[0]是一个整体,所以需要++a[0]或者a[0]++

 

②因为是++a[0],所以是先加再显示。

 

③a[0]实际上是一个内存地址,因此才可以操纵地址偏移。另外需要注意的是,a[0]是一个字符宽,所以偏移的时候也是偏移一个字符宽

 

 

代码2:


#include<iostream>
#include<string>

int main()
{
	using namespace std;
	int i=1;
	string a = "abcdefg";
	cout << a[0] << endl;	//显示string类字符串的第一个字母
	cout << char(a[0]++) << endl;	
	cout << char(a[0]++) << endl;	
	cout << a[0] << endl;
	//之所以用char括起来,是因为将之强制转换为字符显示
	system("pause");
	return 0;
}

输出:


a
a
b
c
请按任意键继续. . .

注意:

①在代码2里。我们使用了a[0]++,因为后缀的原理,先输出,再加1。

于是在第一次cout << char(a[0]++) << endl;里面,输出的依然是a;

第二次输出的才是b;

而第三次没有使用后缀,但由于第二次已经加过了(即地址偏移了),所以cout<<a[0]<<endl;输出的是c。

 

②依然需要注意,字符串名,实际上是字符串的地址,a是整体"abcdefg"的地址,而a[0]是一个字符的地址,且是第一个字符。但偏移后就不一定是第一个字符a了,可能是b或者c。根据偏移量而定。

 


目录
相关文章
|
10月前
中缀表达式转前缀或后缀并计算结果 2021-04-28
中缀表达式转前缀或后缀并计算结果 2021-04-28
|
10月前
|
机器学习/深度学习 Cloud Native Go
779. 第K个语法符号:简单模拟
这是 力扣上的 779. 第K个语法符号,难度为 中等。
|
12月前
【STM32】【vscode编译】 不允许使用与号(&)。& 运算符是为将来使用而保留的;请用双引号将与号引起来(\“&\“),以将其作为字符串的一部分传递
【STM32】【vscode编译】 不允许使用与号(&)。& 运算符是为将来使用而保留的;请用双引号将与号引起来(\“&\“),以将其作为字符串的一部分传递
275 0
|
Python
vscode编译 不允许使用与号(&)。& 运算符是为将来使用而保留的;请用双引号将与号引起来(\“&\“),以将其作为字符串的一部分传递
vscode编译 不允许使用与号(&)。& 运算符是为将来使用而保留的;请用双引号将与号引起来(\“&\“),以将其作为字符串的一部分传递
380 0
|
前端开发 开发者
评论列表案例-演示艾特符号替代相对路径的好处|学习笔记
快速学习评论列表案例-演示艾特符号替代相对路径的好处
439 0
|
前端开发
评论列表案例-演示艾特符号替代相对路径的好处
评论列表案例-演示艾特符号替代相对路径的好处
Swift5.1—字符串前缀/后缀相等
Swift5.1—字符串前缀/后缀相等
236 0
|
API vr&ar 图形学
【Unity3D 灵巧小知识点】 ☀️ | 字符串截取,截取某个路径字符串中 末尾文件 的名字
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。
|
JavaScript 前端开发
i++ 和 ++i 之间的区别详细解释(后缀与前缀)
i++ 和 ++i 之间的区别详细解释(后缀与前缀)
180 0
|
前端开发 Java 数据库
Java常用对象后缀命名随记
面对java对象的命名,有时候会忘记取什么名字好点,以什么标准为主,所以就做下简单的记录,不断迭代
710 0