传智扫地僧课程学习笔记。
C中,三目运算符表达式不能做左值,
因为这个返回值是一个数值,放在寄存器中,
C++中,可以,
表达式返回的是,变量的自身,
int a = 10;
int b = 20;
( a<b ? a:b ) = 30;
如何实现的呢?
*( a<b ? &a:&b ) = 30;
只不过,编译器帮我们实现的,
传智扫地僧课程学习笔记。
C中,三目运算符表达式不能做左值,
因为这个返回值是一个数值,放在寄存器中,
C++中,可以,
表达式返回的是,变量的自身,
int a = 10;
int b = 20;
( a<b ? a:b ) = 30;
如何实现的呢?
*( a<b ? &a:&b ) = 30;
只不过,编译器帮我们实现的,