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

简介:

如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月前
|
存储 SQL
【解决方案 十六】关键字 'with' 附近有语法错误
【解决方案 十六】关键字 'with' 附近有语法错误
152 0
|
11月前
【STM32】【vscode编译】 不允许使用与号(&)。& 运算符是为将来使用而保留的;请用双引号将与号引起来(\“&\“),以将其作为字符串的一部分传递
【STM32】【vscode编译】 不允许使用与号(&)。& 运算符是为将来使用而保留的;请用双引号将与号引起来(\“&\“),以将其作为字符串的一部分传递
266 0
|
12月前
|
Python
vscode编译 不允许使用与号(&)。& 运算符是为将来使用而保留的;请用双引号将与号引起来(\“&\“),以将其作为字符串的一部分传递
vscode编译 不允许使用与号(&)。& 运算符是为将来使用而保留的;请用双引号将与号引起来(\“&\“),以将其作为字符串的一部分传递
369 0
|
前端开发 开发者
评论列表案例-演示艾特符号替代相对路径的好处|学习笔记
快速学习评论列表案例-演示艾特符号替代相对路径的好处
439 0
|
前端开发
评论列表案例-演示艾特符号替代相对路径的好处
评论列表案例-演示艾特符号替代相对路径的好处
项目实战:Qt文件改名工具 v1.2.0(支持递归检索,搜索:模糊匹配,前缀匹配,后缀匹配;重命名:模糊替换,前缀追加,后缀追加
项目实战:Qt文件改名工具 v1.2.0(支持递归检索,搜索:模糊匹配,前缀匹配,后缀匹配;重命名:模糊替换,前缀追加,后缀追加
项目实战:Qt文件改名工具 v1.2.0(支持递归检索,搜索:模糊匹配,前缀匹配,后缀匹配;重命名:模糊替换,前缀追加,后缀追加
Swift5.1—字符串前缀/后缀相等
Swift5.1—字符串前缀/后缀相等
234 0
|
JavaScript 前端开发
i++ 和 ++i 之间的区别详细解释(后缀与前缀)
i++ 和 ++i 之间的区别详细解释(后缀与前缀)
180 0
|
前端开发 Java 数据库
Java常用对象后缀命名随记
面对java对象的命名,有时候会忘记取什么名字好点,以什么标准为主,所以就做下简单的记录,不断迭代
702 0
《Python编程从0到1》笔记1——表达式的风格(前缀、中缀、后缀)
运算符和运算数组成表达式。运算符和运算数的出现次序会影响表达式乃至程序设计语言的风格。