4.表达式
一些觉得重要的点
一段利用逻辑或的代码:
#include <iostream>
#include <vector>
using namespace std;
int main(){
vector<string> text={"hello world"," ","this is a test line.","just a string"};
for(auto const &s:text){\\声明为常量的引用,避免对变量的拷贝
cout<<s;
if(s.empty()||s[s.size()-1]=='.']{
cout<<endl;
}
else{
cout<<" ";
}
}
}
运行结果如下:
hello world
this is a test line.
just a string 这里不换行
Process finished with exit code 1
注意:关系运算符的求值结果是一个boolean的值,因此如果进行连写可能会得到一个意想不到的结果,关系运算符即:“>、<、==“等。
- 尽量使用前置的自增或自减运算符,更符合初衷,并且节省一部分资源,当然如果想要在一个复合的表达式中,既想要使用递增前的值,又想要使其递增,则可以考虑使用后置的自增和自减。
auto pbeg=v.begin();
\\输出元素直到遇到第一个负值
while(pbeg!=v.end()&&*pbeg>=0){
cout<<*pbeg++<<endl;//输出当前值并将指针向后移动一个位置
- 解引用运算符的优先级低于“.”运算符,因此在访问指针指向的对象的成员时需要使用括号,或者该用箭头如下:
(*p).age\\等价于p->age
. - 条件运算符允许嵌套,但是为了程序的可读性最好不要超过三个。
位运算符
位运算符作用于整数类型的运算对象,并把运算对象看作是二进制位的集合。
建议:仅将位运算符作用于无符号数,因为对于符号的处理并没有一个统一的规定。
位运算符的一个集合: