giantneco’s blog

技術メモ

C++ Mix #2

cppmix.connpass.com

C++ Mix の第2回に参加してきたメモ。

iOS パズル「パズモナ」の秘密, @5mingame2

C++ でゲーム作った話。 フレームワークとして CINDER というものを採用してる。 また方針として new と delete は使わず、 包含やスマートポインタでどうにかしている。 また UI は boost::any を使用して書きやすくしている。 UI 周りは詳しくないが、や利用あるもんなんだろうか?

Qt x Reactive Extensions, @tetsurom

Reactive Extensions と Qt の話。

Rx の説明として「values-distributed-in-time」というのは初めて聞いた。 あとオブザーバパターン、イテレータパターン、関数型プログラミングのいいとこ取りというのも。

C++ でも RxCpp があるのは意外だったが、run loop は自分で仕込む必要があるらしい。 あと Qt と RxCpp をつなぐライブラリを作ったとのこと。うまく Qt の難しい部分を解決できているらしい。

C++のパッケージマネージャ「poac」を開発した話 @matken11235

poac は C++ 向けのパッケージマネージャ。 以前に聞いたときは「開発している」話だったので、結構進歩あったっぽい。 この発表を見てインストールしてみたがなかなか使えそうな感じ。

公式のドキュメント(https://docs.poac.io/ja/)を見ながら実行するとこんな感じになる。 これから対応パッケージが増えることに期待。

% poac new hello

Your "hello" project was created successfully.


Go into your project by running:
    $ cd hello

Start your project with:
    $ poac run

% cd hello
% poac install hello_world
==> Resolving packages...
==> Resolving dependencies...
==> Fetching...

  ●  hello_world 0.1.0 (from: poac)

==> Done.
% vim main.cpp 
% poac run
==> hello
Compiled: Output to `_build/bin/hello`
Running: `_build/bin/hello`
Hello, world!

雑談タイム

なんというかここが本番だった気がする。