use*_*896 2 c++ ternary-operator
我无法弄清楚这个if语句在做什么.这不是我的代码所以我只是想了解Ternary运算符正在做什么.
if((model[STRIDE].isLogging == true ? model[STRIDE].value : g_uiStride) == g_uiStride &&
(model[NUMVERTS].isLogging == true ? model[NUMVERTS].value : NumVertices) == NumVertices &&
(model[PRIMCOUNT].isLogging == true ? model[PRIMCOUNT].value : primCount) == primCount &&
(model[STARTINDEX].isLogging == true ? model[STARTINDEX].value : startIndex) == startIndex)
{
Run Code Online (Sandbox Code Playgroud)
第一,
(model[STRIDE].isLogging == true ? model[STRIDE].value : g_uiStride) == g_uiStride
Run Code Online (Sandbox Code Playgroud)
可写:
(model[STRIDE].isLogging ? model[STRIDE].value : g_uiStride) == g_uiStride
Run Code Online (Sandbox Code Playgroud)
三元组
model[STRIDE].isLogging ? model[STRIDE].value : g_uiStride
Run Code Online (Sandbox Code Playgroud)
检查是否model[STRIDE].isLogging属实.如果是,则需要该值model[STRIDE].value.如果没有,则取值g_uiStride.然后将其与之进行比较g_uiStride.
因此,如果它没有记录,则该部分自动为真,因为g_uiStride它与自身进行比较.如果是记录,那么如果mode[STRIDE].value == g_uiStride
和