左值右值:简单的说,可以放在赋值运算符左侧的为左值,只能放在右侧的为右值
4种运算符明确规定了运算对象的求值顺序:逻辑与(&&)、逻辑或(||)、条件运算符( ?:)、逗号运算符(,)
一元正号运算符作用于一个指针或者算术值时,返回运算对象的一个(提升后的)副本
短路求值
for(const auto &s : text)
{
cout<<s;
if(s.empty()||s[s.size()-1]=='.')
{
cout<<endl;
}
else
{
cout<<" ";
}
}
上面的程序中,s被声明成了对常量的引用。因为text的元素为string对象,可能非常大,所以将s声明成引用类型可以避免对元素的拷贝;又因为不需要对string对象做写操作,所以被声明成对常量的引用
赋值运算符满足右结合律 ival=jval=0;