2010-12-01から1ヶ月間の記事一覧

クラスに持たせる定数について

C++

動機: 定数の定義 - C++でゲームプログラミング 上記の記事のように、あるクラスの持つ何らかの特性をコンパイル時に得たい場合、 普通に static メンバ変数を使って struct Vector3D { // const は constexpr の方がより望ましい static std::size_t const…

rvalue-reference で one-phase construction

前回の記事で説明したように、 auto p = std::make_shared<hoge>(); のような、「関数(あるいはコンストラクタ)の戻り値を変数に束縛する」コードは、*1 one-phase construction ではありません。 これはつまり、 struct person : private boost::noncopyable //</hoge>…

One-Phase Construction 入門 〜 Constructor run once.

導入 皆さんは C++ と聞いて、まず何を思い浮かべますか? 「C++? そんなの過去の遺物だろ? GC ないとか原始的すぎるじゃん?」 って思う人もいれば、 「いや、 C++ って無闇に複雑すぎて使えない。正直 C 言語で十分でしょ」 って人もいるでしょう。 が、…

かていほうげんざい

この記事は C++ Advent Calendar jp 2010 の参加記事です。

Boost に std::unique_ptr の移植がないかな、と思ったら有った。

少し前に書いた記事 で紹介した std::unique_ptr の C++98/03 移植が Boost にないのはなんでなんだぜ、 と思っていたら、実は既にあったようなので、ここで紹介します。 Boost.Interprocess.UniquePtr Boost.Interprocess なんていう仰々しいライブラリに入…

メタプログラミング友の会に参加してきた

メタプログラミング友の会 に参加してきました。発表/参加された皆様、お疲れさまでした。 どれも素敵な発表でしたが、個人的に特に気になったのは、 稲葉さんの Polemy 光成さんの Xbyak の二点。 Polemy はこの勉強会のために作られた言語で、 一つのコー…

C++0x の最新ドラフトが N3225 に

本の虫: post-Batavia mailiingの簡易レビュー C++0x の最新ドラフトが N3225 になったようです。 今回のドラフトにおける主な変更点ですが、 ユーザ定義のデストラクタ、ムーブ、コピーが存在する場合 暗黙のムーブは生成されない 暗黙のコピーは deprecate…

C++0x 版の俺々ライブラリを地味に開発中です。

Etude C++ Libraries: http://github.com/gintenlabo/etude 時代は C++0x ですよ奥さん。 // まだマトモに使えるものが存在しないけどな! // っていうかもう一つの俺々ライブラリは絶賛放置中だけどな!