1.左值和右值
C中:左值可以在表达式左边,右值不能。c++中当一个对象被用作右值的时候,用的是对象的值(内容);
被用做左值时,用的是对象的身份(在内存中的位置)。
2.常量的引用
for(const auto &s : text)
{
cout << s;
if(s.empty() || s[s.size() - 1] == '.')
cout << endl;
else
cout << " ";
}
s使用常量引用,避免对元素的拷贝,不需要对string对象做写操作
3.赋值运算符优先级低,需要加括号
while( (i = get_value() ) != 42)
{}
4.*p++
auto p = v.begin();
while(p != v.end() && *p >= 0) //输出元素直到第一个负值
cout << *p++ << endl;
*p++ 相当于*(p++),p++值加1,返回之前的副本,解引用,输出,然后指针后移