C++ Primer 逗号运算符
专栏简介:本专栏主要面向C++初学者,解释C++的一些基本概念和基础语言特性,涉及C++标准库的用法,面向对象特性,泛型特性高级用法。通过使用标准库中定义的抽象设施,使你更加适应高级程序设计技术。希望对读者有帮助!
目录
- 4.10 逗号运算符
4.10 逗号运算符
逗号运算符(comma operator)含有两个运算对象,按照从左向右的顺序依次求值。和逻辑与、逻辑或以及条件运算符一样,逗号运算符也规定了运算对象求值的顺序。对于逗号运算符来说,首先对左侧的表达式求值,然后将求值结果丢弃掉。逗号运算符真正的结果是右侧表达式的值。如果右侧运算对象是左值,那么最终的求值结果也是左值。
逗号运算符经常被用在for循环当中:
vector<int>::size_type cnt=ivec.size();
//将把从size到1的值赋给ivec的元素
for{vector<int>::size_type ix=0
ix != lvec.slze(); ++ix, --cnt)
ivec[ix]=cnt;
这个循环在for语句的表达式中递增ix、递减cnt,每次循环迭代ix和cnt相应改变。只要ix满足条件,我们就把当前元素设成cnt的当前值。