タグ

2016年11月27日のブックマーク (2件)

  • 共変戻り値と反変引数 - Qiita

    C#を学習すると共変と反変という用語がでてきます。難しそうな用語ですが、その取っ掛かりとして戻り値と引数に的を絞って図によるイメージで説明します。数学的な知識は前提としませんし、コードも簡単なものしか出て来ません。型周りの知識を整理するのにも役立つでしょう。 この記事で最終的に説明したいことは、次のようにデリゲートから参照するメソッドの戻り値や引数の型を変える規則についてです。 C Foo(A a) { return new C(); } // 戻り値はBの派生クラスC、引数はBの基底クラスA delegate B Delg(B b); // 戻り値と引数ともにB Delg d = Foo; // 型が一致しないのに、なぜ許されるのか? この規則はイメージしにくく混乱を招きがちですが、図による直感的な説明を試みます。 ※ 具体例で用語に慣れることも目的としています。なるべく話を単純にするた

    共変戻り値と反変引数 - Qiita
  • Qt + CMakeメモ - Qiita

    なかなか情報もないので・・・ハマりどころメモとか。 一次情報はこちら。 Qt Creator 4.0系になってから、CMake対応強化がリリースノートに乗ることが増えてきています。実際、そこそこ使える(CLionと互角ぐらい)という印象ではあるんですが、ハマりどころも多そうなので、気づいたらメモしていこうと思います。 CMakeとは メタなMakeです。MakefileやらVisual Studioのプロジェクトファイルやらxcodeのプロジェクトファイルやらを生成し、実際のビルドは他のツールが行います。そういう意味ではQMakeとほぼおなじですね。 CMakeは今後はデファクトになりそうな感じではありますが、結構覚えることも多く、使うのは簡単ではないです。覚悟は必要です。QMakeの方がシンプルです。ただ、Qt以外のプロジェクトでも使われることが多いので、Qt外のライブラリを利用するとか

    Qt + CMakeメモ - Qiita