ボレロ村上 - ENiyGmaA Code

中3女子です。

今更だけど Boost.勉強会 #12 大阪でした


もう三週間が経ってアレですが、Boost.勉強会 #12 で発表してきました。
Boost.勉強会 #12 大阪 - boostjp

発表

発表タイトルは『constexpr中3女子テクニック―実践と濫用そしてC++14へ』です。

constexpr によって、コンパイル時の処理をどこまでどのように記述できるのかということを、拙作の Sprout ライブラリ の実例と実装テクニックを紹介しつつ解説しました。
また、次期標準の C++14 で constexpr がどのように進化するか、またどのような問題点が残っているかについても併せて紹介しました。
C++ に精通している皆さんには正直物足りない内容だったかもしれませんが、こういう機会に一人でも多くの方に constexpr に興味をもったり理解を深めて戴けたなら幸いです。


ところで、資料をつくる段階で少し内容を詰め込みすぎかと思って優先度の低い項目を削ったりしたのですが、それでもスライドにして 138枚。
案の定発表時間を大幅にオーバーしてしまい、主催者の遥佐保さんをはじめ皆さんにご迷惑おかけして申しわけありませんでした。


Boost.勉強会参加が丸一年以上振りということもあって、すこし気張り過ぎたかなと思います。
できればこまめに発表したいところなのですが、大都会奥地在住の悲しさで、東京や大阪といった田舎なんぞには頻繁に出かけて行きづらいという事情もあり悩ましいです。

他の方の発表の雑感

  • C++で作るWEBアプリケーション

Emscripten すごいですね。
こういうのが出てくるのも、GCCと 異なり極度にモジュール化された設計である LLVM ならではだと思います。

  • C++初心者のためのBoost.MPL入門

珍しくまともに Boost のライブラリを取り上げた発表。
テンプレートメタプログラミングは非常によく使います。
ただ発表で言及されていたように「古いライブラリ」感があるのは、歴史のある枯れたライブラリであるという以外に、C++11 では Variadic Templates の導入や標準ライブラリの整備などでメタ関数が非常に書きやすくなったために、Boost.MPL を使わなくても自分で簡単に実装できるようになってしまった、という理由があるように感じます。
非常に多くの機能が用意されているけど実際に使われるのは割と一部、という点には何というかシンパシーを感じますね!
Boost.MPL の真の価値の一つは、メタ関数の概念とテンプレートメタプログラミングの応用範囲を示して広く浸透させたことにあると思います。

  • boost.multiprecisionと適応型無誤差演算

まともに Boost のライブラリを取り上げた発表その2。
お好み焼きのせいで前半聴けず済みませんでした……。
任意精度演算については、いずれコンパイル時に出来るよう実装したいと思っていたため参考になりました。

  • Allocators@C++11

普段 constexpr ばかり触っているのでアロケータ周りにはほとんど触れていなかったのですが、さすが C++11 だけあって色々な進化を感じました。
相変わらず C++14 でも constexpr で動的メモリを扱えないクソ言語機能なのはどうにかなりませんかね。

本当のプリプロセスを見た。
トークンの判定を使ってマクロで疑似構文のようなものをつくるのは面白かったです。
可変長マクロも導入されて大分書きやすくなった感があるので、近々魔クロプログラミングで何か実装したいです。

  • C++コミュニティを作る

「みんなもっとオープンに世界にコミットしていこうぜ」という提言。
皆さんもっと Boost や他のプロジェクトにバグ報告したり PullRequest したり公開したり殴り合ったりしましょう。