C++中,cout操作符求值顺序
2014-03-11 20:45
169 查看
最近在看C++的内容,发现cout操作符求值顺序的问题:
1.cout操作符求值顺序在C++标准中是没有定义的,运行结果取决于编译器实现;
2.在VC++ 6.0中,发现它是从右至左计算的,即先计算最右边的,最后计算最左边的。实例如下
例一:
#include<iostream>
using namespace std;
int main(){
int i=10;
cout<<++i<<" "<<++i<<" "<<i<<endl;
return 0;
}
输出结果:
12 11 10
例二:
#include<iostream>
using namespace std;
int main(){
int i=10;
cout<<++i<<" "<<++i<<" "<<i++<<endl;
return 0;
}
输出结果:
13 12 10
这两例充分说明了“在VC++ 6.0中,它是从右至左计算的”。
各位童鞋可以将此代码copy到你的VC++ 6.0中试试!
1.cout操作符求值顺序在C++标准中是没有定义的,运行结果取决于编译器实现;
2.在VC++ 6.0中,发现它是从右至左计算的,即先计算最右边的,最后计算最左边的。实例如下
例一:
#include<iostream>
using namespace std;
int main(){
int i=10;
cout<<++i<<" "<<++i<<" "<<i<<endl;
return 0;
}
输出结果:
12 11 10
例二:
#include<iostream>
using namespace std;
int main(){
int i=10;
cout<<++i<<" "<<++i<<" "<<i++<<endl;
return 0;
}
输出结果:
13 12 10
这两例充分说明了“在VC++ 6.0中,它是从右至左计算的”。
各位童鞋可以将此代码copy到你的VC++ 6.0中试试!
相关文章推荐
- C++中规定了求值顺序的操作符
- C/C++中操作符的优先级和求值顺序
- C++输出操作符求值顺序
- cout输出操作符求值顺序
- C/C++中操作符的优先级和求值顺序
- 表达式运算顺序与求值顺序,副作用操作符(++,--),序列点
- C,C++表达式求值顺序
- C++语法基础--顺序容器(三)--关系操作符,容器大小的操作,访问元素,删除元素,查找元素
- C,C++表达式求值顺序超详解
- 关于C/C++ 表达式求值顺序 未定义(转)
- 关于C/C++ 表达式求值顺序 未定义
- C,C++表达式求值顺序
- 浅谈C/C++中运算符的优先级、运算符的结合性以及操作数的求值顺序
- 关于C/C++ 表达式求值顺序
- 关于C/C++ 表达式求值顺序
- C/C++---printf/cout 从右至左压栈顺序实例详解
- C++在单继承、多继承、虚继承时,构造函数、复制构造函数、赋值操作符、析构函数的执行顺序和执行内容
- C,C++表达式中含++的求值顺序
- C++在单继承、多继承、虚继承时,构造函数、复制构造函数、赋值操作符、析构函数的执行顺序和执行内容
- C,C++表达式求值顺序