レポート

イマドキC++erのモテカワリソース管理術! “プログラミング生放送+CLR/H+Sapporo.cpp勉強会”レポート

この記事を読むのに必要な時間:およそ 3 分

型の力を抜いて学ぶC++

らぴすさん@lapis_tw「型の力を抜いて学ぶ C++」です。型安全に型を消去できる仕組みTypeErasure(型消去)の解説です。

図7 「型の力を抜いて学ぶ C++」らぴすさん

図7 ⁠型の力を抜いて学ぶ C++」らぴすさん

TypeErasureは,継承関係のないクラスに対し一部の共通機能をまとめて扱いたい用途などに使えるとのこと。

TypeErasureの方法は,void*を用いる方法,仮想関数テーブルを用いる方法,基底クラスとテンプレートを組み合わせる方法の3種類があります。セッションでは3種類それぞれ解説しています。

基底クラスとテンプレートを組み合わせる方法が,一般的な実装となり,Boostなどのライブラリに採用されている手法です。Boost 1.54からBoost.TypeErasureが追加され,テンプレートで型消去に必要なコンセプトを定義でき非常に便利とのことでした。

ニコニコ動画:https://www.nicovideo.jp/watch/sm24209538

資料公開場所
型の力を抜いて学ぶC++

今更始めるWin32+DirectWrite

hiyohiyoさん@openlibsys「今更始める Win32 + DirectWrite」です。Windowsで高品位なフォントのレンダリングを行うDirectWriteの紹介です。

図8 「今更始める Win32 + DirectWrite」hiyohiyoさん

図8 ⁠今更始める Win32 + DirectWrite」hiyohiyoさん

DirectWriteは,DirectXに区分される文字描画のAPIです。従来のGDI/GDI+描画に介してすべてのアプリで高品位なDirectWrite描画が期待されていたようですが,実際はそうならずGDI/GDI+とDirectWriteは独立して動作するとのこと。

DirectWriteは,Internet ExplorerやFirefox,秀丸やSublime Textで使われているとのこと。Windowsストアア プリやWPF,IEコンポーネントであれば,DirectWriteを簡単に利用できますが,Win32ではできません。

セッションでは,Win32でのDirectWriteを自アプリで利用した経緯やその方法を紹介しています。

ニコニコ動画:https://www.nicovideo.jp/watch/sm24210361

ライトニングトーク

全セッション終了後は,ライトニングトークを行いました。タイトルのみ紹介します。こちらも楽しい内容になっていますので,ぜひ視聴してみてください。

図9 ライトニングトーク

図9 ライトニングトーク

  • 「B2G ~Build to Gecko~⁠@hikaru__mさん
  • 「Tell Me WY⁠@jsakamotoさん
  • 「5分で分かるVim(mer|コミュニティ)の楽しさ⁠@raa0121さん
  • 「Xamarin⁠@furuya02さん
  • 「Blocklyを使ってみた⁠@tututenさん

ニコニコ動画:https://www.nicovideo.jp/watch/sm24210395

おわりに

今回参加していただいた皆様,ありがとうございました。今後も各コミュニティそれぞれIT勉強会などのイベントを予定していますので,ぜひ参加してみてください。