最近做任务,公司项目比较重,赶上1024的活动流量券任务,内容治疗略微有一些杂乱,后期会把专栏目录重新搞一下,内容我是融合了很多课程和书籍包含ai的一些理解,我整理和增加了自己的见解和代码贴图,后续有需要代码的可以私聊我。免费赠送(专栏整理完了再发哈)
1.23.9 位运算符的综合应用
本章主要对上一篇文章作为补充,补充一下关于位运算符的一些综合应用。同时补充一下关于三目运算符、运算符的优先级、以及重要的自增、自减操作。
上图引用千锋教育C++基础班课程笔记
1.23.10 三目运算符 ?:
表达式1?值1:值2
如果表达式1为真整个表达式的值为值1
如果表达式1为假 整个表达式的值为值2
例如:
int age = 20;
string result = (age >= 18) ? "成年人" : "未成年人";
cout << "年龄:" << age << endl;
cout << "身份:" << result << endl;
其实相当于if-else,经常用于比较简单的比较条件,省去if-else的大块语句
注意特殊的:
test08里面我们可以看到data1的值是10,data2是原始是20,最后data2的值发生了改变。
实际上是因为在给 (data1>data2?data1:data2)
赋值时,根据条件 (data1>data2)
的判断结果,如果为真,则将 data1
的值赋给整个表达式,如果为假,则将 data2
的值赋给整个表达式。
在这个例子中,(data1>data2?data1:data2)
的值为 data2
,因为 data1
的值并没有大于 data2
。所以 data2
的值被赋为了 200
。
因此,最后的输出结果中,data1
的值保持为原来的 10
,而 data2
的值被赋为了 200
。
1.23.11 运算符优先级
1.图标展示运算符号的优先级
图示在C++primer一书中。
1.23.12 自增自减
1.基础认识++(自增加1)和--(自减少1)符号
在C++中,递增运算符(++)和递减运算符(--)提供了一种便捷的方式来对对象进行加1和减1操作。
递增运算符有两种形式:前置版本和后置版本。前置递增运算符将运算对象加1,并返回修改后的对象本身作为求值结果。例如,++x
将会将变量 x
的值加1,并返回加1后的值。
后置递增运算符也将运算对象加1,但是返回的是运算对象改变之前的值的副本。例如,x++
将会将变量 x
的值加1,但返回的是加1之前的值。
递减运算符的工作原理与递增运算符类似,只是将对象减1。
#include <iostream>
using namespace std;
int main() {
int x = 5;
int y = 10;
// 前置递增运算符
++x; // x 增加1,现在 x 的值为 6
cout << "x = " << x << endl;
// 后置递增运算符
y++; // y 增加1,但返回的是加1之前的值,现在 y 的值为 11
cout << "y = " << y << endl;
// 前置递减运算符
--x; // x 减少1,现在 x 的值为 5
cout << "x = " << x << endl;
// 后置递减运算符
y--; // y 减少1,但返回的是减少之前的值,现在 y 的值为 10
cout << "y = " << y << endl;
return 0;
}
2.在一条语句中混用解引用和递增运算符
如果我们想在一条复合表达式中既将变量加1或减1又能使用它原来的值,这时就可以使用递增和递减运算符的后置版本。
这里引用了C++primer5版本里面对改问题解释