This domain may be for sale!
このエントリは、Boost Advent Calendar 2011の参加記事です。 Boost Range Libraryは、Boost 1.43.0においてバージョン2にメジャーバージョンアップし、Rangeに対するアルゴリズムと、Rangeアダプタという大きく2つの機能が導入されました。 Rangeアルゴリズムは、既存のイテレータの組みを引数にとるSTLアルゴリズムを一段抽象化し、コンテナや配列のようなRange(範囲)をとるようにしたものです。 std::vector<T> v; for_each(v, f); これによって、「コンテナ全てにアルゴリズムを適用する」というような処理が簡潔に記述できるようになり、 for_each(a.begin(), b.end(), f); のように、間違って異なる変数を範囲として渡してしまうようなバグを埋め込む可能性を減らしてくれます。 Ran
Information 2013/12/25 書籍『プログラミングの魔導書 Vol.3』の発売 (書籍版の予約受付は終了しました) 2013/12/03 書籍『プログラミングの魔導書 Vol.3』の予約受付開始 2011/12/01 ブログを開始 2011/11/30 著者からの指摘を受け、書籍 『プログラミングの魔導書 Vol.2』PDF版を改訂 2011/11/02 書籍 『プログラミングの魔導書 Vol.2』の壁紙公開 2011/10/05 書籍 『プログラミングの魔導書 Vol.2』を発売 (書籍版の予約受付は終了しました) 2011/9/15 書籍 『プログラミングの魔導書 Vol.2』の予約受付開始 技術トレーニングサービスを開始 2010/8/07 書籍 『プログラミングの魔導書 Vol.1』を販売開始 2010/6/01 書籍情報を公開しました 2010/2/28 今年5月
C++ Advent Calendar jp 2010の記事です。 今回は、Boost Fusion Libraryを紹介します。 Boost Fusion Libraryは、タプルのデータ構造とアルゴリズムを提供するライブラリです。 Fusionでは、2つの重要な概念を与えます。 1つは、タプルを異なる型のリストと見なしイテレートする、Fusion Sequenceという概念。 もうひとつは、タプルを名前のないユーザー定義型、ユーザー定義型を名前ありタプルと見なし、それらを相互運用可能にするという概念です。 まず、基本的な使い方を見ていきましょう: #include <iostream> #include <string> #include <boost/fusion/include/vector.hpp> #include <boost/fusion/include/for_each.
Smart Pointers というか主に shared_ptr ですが(scoped_ptr のこともたまには思い出してあげてね!)。 恐らくは散々ガイシュツなネタですが、まー「検索するのが面倒だ」って人の手助けになればいいかと思います。僕も検索するの面倒ですし。 というかこの記事書いてるときもロクに検索してないです。間違いとかあったらすみません。 疑問点とか有りましたら、自分で調べるか、あるいは僕に知らせてもらえると助かります。では、始めましょう。 [最終更新] 応用例にカスタムアロケータでの参照カウント管理を追加: 09/12/16 基本的な使い道 まず基本的なことについては、僕が説明するより、この動画を参照した方が速いでしょう: http://www.ustream.tv/recorded/2981654 それに対するついったーでの突っ込み: http://kiwofusi.sa
Embedding Python with Boost.Python Part 1 by Howard "SiCrane" Jeng Building Applications that Embed Python Python is an increasingly popular programming language used in a variety of contexts. Python has been called a language optimized for development speed. This puts it in contrast with compiled languages like C and C++, which can be called languages optimized for execution speed. This contrast
これはVC8でも動く #include <iostream> #include <iterator> #include <vector> #include <deque> #include <algorithm> using namespace std; template <class Container> class container_convertor { Container values_; public: container_convertor(const Container& values) : values_(values) {} template <class Target> operator Target() const { return Target(values_.begin(), values_.end()); } }; template <class T> con
参考: http://d.hatena.ne.jp/faith_and_brave/20100201/1264997004 「C++0xになると、C++03 でごちゃごちゃした部分がだいぶすっきり書けるようになる」 らしいですが、C++0xを待たなくてもBoostを使えばだいぶすっきり書けるので、 BoostでのC++入門はこんな感じだよー、という気持ちで以下略。 この記事はC言語をある程度理解していることが前提です。 1. Hello World C++/Boostでの出力はC++標準の IOStream ライブラリと Boost.Format を組み合わせて行います。 例として、C言語のprintfを用いた Hello World を、C++/Boostを使って書き直してみます。 #include <stdio.h> int main() { printf( "%s\n", "Hell
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く