int sel = m_nType >= _TYPE::Full ? m_ctrl : 0;文法の意味を教えてください。

解決


初心者  2013-12-10 16:41:47  No: 73845  IP: [192.*.*.*]

以下の文法の意味を教えてください。
int sel = m_nType >= _TYPE::Full ? m_ctrl : 0;
よろしくお願いします。

編集 削除
瀬戸っぷ  2013-12-10 16:57:57  No: 73846  IP: [192.*.*.*]

「三項演算子」で調べて見るとよろしいかと。

編集 削除
初心者  2013-12-10 18:24:48  No: 73847  IP: [192.*.*.*]

瀬戸っぷ  様、有難うございます。
「三項演算子」とは初めて聞きました。
if文で書き直してみましたが、以下で合っていますでしょうか。

int sel;
if ( m_nType >= _TYPE::Full)
 sel = m_ctrl;
else
 sel = 0;

編集 削除
瀬戸っぷ  2013-12-10 22:38:58  No: 73848  IP: [192.*.*.*]

>if文で書き直してみましたが

合っている。でしょう。

私も最近になって「ようやく」三項演算子を使える場面で使うようになりました。
プログラマ歴(?)としてはそこそこあるんですけどねぇ…。

編集 削除
初心者  2013-12-12 13:06:06  No: 73849  IP: [192.*.*.*]

瀬戸っぷ  様、返信送れてすみません。

昨日は、「三項演算子」→「if文」の練習をしていました。
おかげで、頭の中で「三項演算子」→「if文」変換がすぐにできるようになりました。
逆は、これから練習します。

そして、本当に有難うございました。

編集 削除