今天学习,看到这么一句。pCmdUI->SetCheck(m_CurrentTool==ID_DRAW_CIRCLE ? 1:0);这是什么语法?好像没看过啊,? : 都表示些什么?括号里的语句怎么执行?

解决方案 »

  1.   

    如果m_CurrentTool==ID_DRAW_CIRCLE  则括号里面的表达式的值为1,否则为0
      

  2.   

    比较基本的条件选择表达式。
    ? :是一个三目运算符
    S ?V1 :V2
    S为一个条件表达式,如果S为真,该条件选择表达式的值为V1,否则为V2如:
    int v;
    bool s = true;v = s?1:2;//v=1
    v = (!s)?1:2;//v=2
      

  3.   

    如果m_CurrentTool==ID_DRAW_CIRCLE为真,则如果SetCheck(1);否则SetCheck(0);
      

  4.   

    m_CurrentTool==ID_DRAW_CIRCLE ? 1:0如果m_CurrentTool==ID_DRAW_CIRCLE就取1,不等于就取0