获得0或依赖于布尔值的值的好方法是什么?

问题描述

| 我目前正在编写一段代码,仅使用布尔值查看屏幕是否垂直翻转。 这可以通过以下方式完成:
glOrtho(0.0f,_width,flip ? 0.0f : _height,flip ? _height : 0.0f,-1.0f,1.0f);
我想知道是否会有更优化的方法来做到这一点,例如:
glOrtho(0.0f,!flip * _height,flip * _height,1.0f);
还是按位操作会起作用? 感谢您的任何反馈!     

解决方法

您确定这是您程序中的瓶颈吗?不要为了获得小收益而尽早优化和混淆代码。     ,通常,
boolValue ? floatValue : 0.0f
等于
boolValue * floatValue