C++编程中逗号运算符和条件运算符的使用方法讲解
逗号运算符:, expression,expression 备注 e1,e2 该表达式的类型和值是 e2 的类型和值;e1 的计算结果将被丢弃。 如果右操作数是左值,则结果为左值。 func_one( x,y + 2,z ); func_two( (x--,y + 2),z ); 在上面的对 func_one 的函数调用中,会传递以逗号分隔的三个参数:x、y + 2 和 z。 在对 func_two 的函数调用中,圆括号强制编译器将第一个逗号解释为顺序计算运算符。 此函数调用将两个参数传递给 func_two。 第一个参数是顺序计算运算 (x--,y + 2) 的结果,具有表达式 y + 2 的值和类型;第二个参数为 z。 // cpp_comma_operator.cpp #include <stdio.h> int main () { int i = 10,b = 20,c= 30; i = b,c; printf("%in",i); i = (b,c); printf("%in",i); } 20 30 条件运算符:? : expression ? expression : expression 备注
前面列表中没有的第二个和第三个操作数的任意组合都是非法的。结果的类型是通用类型,如果第二个和第三个操作数是同一类型且都是左值,则结果为左值。 System_CAPS_warning警告 // expre_Expressions_with_the_Conditional_Operator.cpp // compile with: /EHsc // Demonstrate conditional operator #include <iostream> using namespace std; int main() { int i = 1,j = 2; cout << ( i > j ? i : j ) << " is greater." << endl; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |