タグ

c++に関するsleepy_yoshiのブックマーク (32)

  • クリエイティブなC++ライブラリ "Cinder" の紹介 - Preferred Networks Research & Development

    こんにちは、人恋しい季節になってきましたね。 研究開発チームの祢次金(@nejigane)と申します。 エントリではCinderというクリエイティブなコーディング向けのライブラリについてご紹介したいと思います。 Cinderとは Cinderとは、画像、音声、動画等を簡単に処理&可視化できる、主にビジュアルデザイン向けの強力なC++ライブラリであり、The Barbarian GroupのAndrew Bell氏が中心となってオープンソースとして開発が進められています。 同様の思想を持つProcessingやopenFrameworksによく似ており、C++で簡単に記述できるうえ、WindowsMacOSX、iOS(iPhone/iPad)といった複数のプラットフォームをカバーしています。 細かい機能/特徴の紹介は家サイトに譲るとして、Cinderを極めるとどのぐらいクリエイティブな

    クリエイティブなC++ライブラリ "Cinder" の紹介 - Preferred Networks Research & Development
  • STL vector

    vector00.cpp 【source】 // サイズを指定してインスタンスの生成 // vector<int> iVec( N ) ; vector01.cpp 【source】 // vectorの最後にアイテム追加(push_back) // 動的配列の体験 vector02.cpp 【source】 // vectorの最後にアイテム追加(push_back)して削除(pop_back)してみる // 動的配列の加減を体験 vector03.cpp 【source】 // 要素の参照に iterator を使用。 // STL では コンテナの内容を扱う際に iterator を使用します。 vector04.cpp 【source】 // vector の clear( ) // vectorのsize が 0 になります。 vector05.cpp 【source】 // i

  • 「プログラミングの魔導書」の情報公開 - Faith and Brave - C++で遊ぼう

    http://longgate.co.jp/products.html 弊社、株式会社ロングゲートで、プログラミング雑誌を作るというプロジェクトが進行しています。 書創刊の目的は、プログラミングの入門記事が巷に溢れる今、プログラマのさらなる成長のため情報発信を行い、業界全体の技術力を向上させることです。 雑誌といっても、記事の質を保つために不定期刊行としていることから、実際には雑誌ライクな書籍となります。 書籍名は「プログラミングの魔導書〜Programmers' Grimoire〜」です。 創刊号となる今回のテーマは、サブタイトルにも含まれている「C++」です。全ての記事がプログラミング言語C++に関するものとなっています。 Vol.1のテーマをC++としたのは奇をてらったものではありません。 C++は習得の難しい言語と言われておりますが、近年はBoost C++ Librariesに

    「プログラミングの魔導書」の情報公開 - Faith and Brave - C++で遊ぼう
  • Containers

    A container is a holder object that stores a collection of other objects (its elements). They are implemented as class templates, which allows a great flexibility in the types supported as elements. The container manages the storage space for its elements and provides member functions to access them, either directly or through iterators (reference objects with similar properties to pointers). Cont

  • C++ でお手軽乱数(boost::random のラッパー) - 木曜不足

    C++ で乱数、特に正規乱数とか欲しいなあ。 rand() 関数は使っちゃダメ! 絶対! ということらしいので、boost::random を使ってみた。 が、なんでちょこっと乱数が欲しいくらいでそんなややこしいコード書かないといけないの!? と、キレたくなるほど複雑。 同じ型名を何度も書くのとか、ダサダサでしょう…… なので、最小限の汎用性を持たせつつ、便利でお手軽に使えるラッパーを書いてみた。 #include <boost/random.hpp> template<class D, class G = boost::mt19937> class Rand { G gen_; D dst_; boost::variate_generator<G, D> rand_; public: Rand() : gen_(static_cast<unsigned long>(time(0))),

    C++ でお手軽乱数(boost::random のラッパー) - 木曜不足
  • いやなブログ: 配列操作の比較表: Ruby, Python, JavaScript, Perl, C++

    配列操作の比較表: Ruby, Python, JavaScript, Perl, C++ プログラムを書いていると、他のプログラミング言語の記憶とごっちゃになって、「配列の後ろに要素を追加するのは push だっけ、 append だっけ」などと混乱することがあります。特に Ruby, Python, JavaScript はコードの書き方が似ているので、この問題が起きがちです。 そこで、備忘録として、 Ruby, Python, JavaScript, Perl, C++ の配列操作の比較表を作りました。一番慣れている Ruby を基準にしています。間違いなどがあったらご指摘いただけると助かります。他の言語のもあるといいなあ。 Ruby (Array) Python (list) JavaScript (Array) Perl (@) C++ (std::vector)

  • C++編(標準ライブラリ)●Programing Place

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • C++ で Perl 拡張を書くためのモジュールを書いた - TokuLog 改めB日記

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

  • オブジェクトの宣言 - odz buffer

    Foo* foo = new Foo; Foo* foo = new Foo(); これはどちらも同じ意味。 Foo foo; Foo foo(); これは違う意味。こゆのはなんなんだろなーと思う。

    オブジェクトの宣言 - odz buffer
  • 高速かつ省メモリで文字列を扱うデータ構造「wavelet tree」

    はじめに 大規模なデータを扱うアプリケーションでは、速度とともに作業領域量も大きな問題となります。作業領域がメインメモリに収まらない場合、スワッピングが発生し、大幅な速度低下につながります。そのため近年、データ構造は高速なだけでなく、作業領域量が小さいことも求められています。今回紹介するのは2003年に提案されたデータ構造、wavelet tree(以下「WT」と表記)です。WTは圧縮索引やSuccinct Data Structureなど、データをコンパクトに表現する際に重要なデータ構造です。WTは文字列T[0...n-1]が与えられた時、次の2つの操作を定数時間でサポートします。 rank(p, c)――T[0...p]中のcの出現回数を返す select(i, c)――(i+1)番目のcの位置を返す WTの作業領域量は、文字列をそのまま保存した時の約2倍程度です。 対象読者 C++

    高速かつ省メモリで文字列を扱うデータ構造「wavelet tree」
  • プログラムを書こう!

    みなさま こんにちは。ここには、C++Javaなど、プログラミングの入門記事を書いていこうと思っています。 一応、製品版がありますが、ここはもちろん無料です。更新はとてもゆっくりになると思いますが、よろしければ、気長につきあってください。一緒に楽しくプログラミングしていきましょう。 入門記事の読み方 細部にこだわるより、全体の流れを見てください。最初に解説をざっと読んだら、サンプルをコンパイル・実行し、うまくいったら、少しだけ書き換えてまた実行してみてください。書き換えがうまくいったら、わかっていることになるのです。それから、少しゆっくり解説を読んでみてください。 そういう勉強方法を嫌う人がいることも知っています。しかし、「すべてをひとつひとつ理解してから進もう」として身動きが取れなくなってしまう人もたくさんいるのです。20歳頃の私がそうでした。それが、「わかってきたな」、「おもしろい

  • プログラミング言語の速度比較:Geekなぺーじ

    Gentoo : Intel Pentium 4 Computer Language Shootout」というプログラミング言語のベンチマークをしているサイトがあります。 このサイトでは、Linux入りPentium 4マシンを使って様々な言語で書いたプログラムのベンチマークを公開しています。 今回はC言語とC++,C#,Javaを比べてみました。 あと、その他言語もそれぞれ比べてみました。 グラフの白い棒がCPU時間を表しています。 白い棒が延びている側の方が実行速度が速い事を現しています。 黒い棒はメモリ利用量を表しています。 黒い棒が延びている側の方が省メモリです。 なお、以下のグラフは特定のベンチマークの結果だけであり、言語自体の優劣ではないので、念のため。。。 その他の言語の組み合わせも色々できるので興味のある方は試してみてください。 C言語 (gcc) vs C++ (g++