• ベストアンサー

? ←これってどうゆう意味ですか?C++MFCです。

C++のMFCにてカスタムコントロールを作ろうとして いろいろサイトを調べ、コピペで何とか作れたのですが、どうやってるのかよくわからないんです。 特に「?」これ。 void CCstBtn::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) { CBrush br((lpDrawItemStruct- >itemState&ODS_SELECTED) ? (m_color ? ((m_color&0xfefefe)>>1) : 0x303030) : m_color); FillRect(lpDrawItemStruct->hDC,&lpDrawItemStruct->rcItem,(HBRUSH)br); } ってゆうか、うまくコードが載りませんね? これもなんとかならないんですかね? 話を戻します。 「?」今までのコードではみたことなくて、調べてみてたんですが、検索エンジンで入力すると消えるんですよね。これは困った。 どうゆう意味? ご教授お願いします。 また良いサイトありましたら教えてください。 お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

3項演算子とか条件演算子とかいいます。 条件?真の時の式:偽の時の式; という風に書きます。 条件によってこの式全体の値が決まるということです。 例えば x<0 ? -1*x : x; とすれば、xの絶対値を求めることになります。

anan23
質問者

お礼

早々な回答ありがとうございます。 初歩的な構文だったようですね。 勉強不足でした。

その他の回答 (3)

  • umota
  • ベストアンサー率46% (150/324)
回答No.4

三項演算子 でググる

anan23
質問者

お礼

早々ありがとうございます。 解決しました。 助かりました!

  • driverII
  • ベストアンサー率27% (248/913)
回答No.3

(条件式) ? (式が真の時の値) : (式が偽の時の値) ですな。 3項演算子です。

anan23
質問者

お礼

ありがとうございます。 解決しました。

  • 6dou_rinne
  • ベストアンサー率25% (1361/5264)
回答No.1

C言語の教科書・参考書に載っているはずですが...  

関連するQ&A