タグ

c++に関するrawwellのブックマーク (16)

  • Learning C++: Variable Scope

    rawwell
    rawwell 2020/08/19
  • A Brief Look at C++0x

    Bjarne offers a sneak peek at the next version of standard C++ ("C++0x") which should be complete by 2009. A Brief Look at C++0x The work on C++0x has entered a decisive phase. The ISO C++ committee aims for C++0x to become C++09. It follows that the standard must be complete for ratification by the ISO member nations in 2008. The set of facilities offered will be chosen from those currently being

  • Boost.勉強会 #4 で発表してきました - 純粋関数型雑記帳

    Boost.勉強会 #4で発表してきました。ICFP Programming Contest 2010 での Discriminating Hacker's 言語の件から、 C++をDISるというテーマで話す機会を頂いたので、せっかくなので、発表させていただくことにしました。 C++コミュニティーの中心でC++をDISる View more presentations from tanakh C++プログラマ、所謂闇の軍団の集う中でこのような発表をするのは、まさに飛んで火に入る夏の虫というやつで、戦々恐々としていたのですが、思惑とは逆に、全然DISれていないと私がDISられるというような結果となりました。 Haskellerの目線から、C++の気に入らない点を、主に型の話をメインに展開していったのですが、おおよそのC++erにとってはあまり賛否両論とは言えなかったようですね。なんでしょうか

    Boost.勉強会 #4 で発表してきました - 純粋関数型雑記帳
    rawwell
    rawwell 2011/02/28
  • C++0x基礎文法最速マスター - Faith and Brave - C++で遊ぼう

    C++0xになると、C++03でごちゃごちゃした部分がだいぶ すっきり書けるようになるので、C++0xでの入門はこんな感じになるよー、 という気持ちで書きました。 1. Hello World C++0xでの入出力には、IOStreamというものを使用します。 <<演算子でどんどんつないでいきます。 以下のプログラムの読み方は 「標準出力(cout)に"Hello World"という文字列と、改行(endl)を出力する」 です。 #include <iostream> int main() { std::cout << "Hello World" << std::endl; return 0; } Hello World coutとendlを使用するには、 #include <iostream> のように、という標準ライブラリのファイルを読み込む必要があります。 2. コメント 行コメント

    C++0x基礎文法最速マスター - Faith and Brave - C++で遊ぼう
  • gmane.org - gmane リソースおよび情報

    rawwell
    rawwell 2010/01/20
    "I'm pleased to announce the acceptance into Boost of the Meta State Machine library by Christophe Henry"
  • Boost.Meta State Machine(MSM)が採択されました - Faith and Brave - C++で遊ぼう

    Meta State Machine Library Accepted - gmane.comp.lib.boost.devel Boost.MSMが採択されました。 Boost.MSMは、Boost.MPLと組み合わせて状態遷移表を書くことのできる 有限状態マシン(FSM)のライブラリです。 (さよならBoost.Statechart?) レビューで挙がった以下のような問題点を修正した後、Boostに正式に含まれることになります。 ・ドキュメントの改善 ・eUMLのための構文がほしい ・SimpleStateは内部遷移(internal transition)できないが、これはできるべき ・名前が誤解を招きやすいので変えたほうがいいかもしれない また、レビューを受けてSandboxにあるBoost.MSMが更新されているようです: ・ディスパッチ速度と最適化の改善 ・(貧弱な)VC8をサ

    Boost.Meta State Machine(MSM)が採択されました - Faith and Brave - C++で遊ぼう
    rawwell
    rawwell 2010/01/20
    "Boost.MSMが採択されました。 Boost.MSMは、Boost.MPLと組み合わせて状態遷移表を書くことのできる 有限状態マシン(FSM)のライブラリです。"
  • shared_ptr & weak_ptr - くらいおらいと

    Web 上ではフォントが崩れます. (DL 専用) Web 上で見る方は http://bit.ly/7dyNmz をどうぞ. 2009/12/12 Boost.勉強会プレゼン資料. 発表時のままの版. プレゼン発表の録画は http://bit.ly/6yjSkz です.Read less

    shared_ptr & weak_ptr - くらいおらいと
    rawwell
    rawwell 2010/01/10
  • C++ の吐く機械語 はまじしん一ろう - C++ の吐く機械語

    1/25 >> First Last C++ の吐く機械語 はまじしん一ろう

    rawwell
    rawwell 2010/01/03
  • ちょっとだけマイナーなSTLの話 - d.y.d.

    21:23 09/11/29 ドラクエ3 ドラゴンクエスト III モバイル版 が配信開始されたと聞いてはプレイせずにはいられない、ということで、さっきクリア。 内容は 「SFC版のベタ移植 - すごろく場 + AI戦闘」 ですね。 すごろく場が減った分、限定アイテムが他の場所に移動 (パワーベルト・ドラゴンテイル・ドラゴンローブ・グリンガムのムチが小さなメダル賞品に。 光のドレスがゾーマ城の宝箱に。雷神の剣も宝箱だった気がする。あと、小さなメダルの総数が110枚で変化無しらしいので、 すごろく場にあった分が通常マップに押し出されて、ところてん式に押された炎のブーメランもメダル賞品化)。 不思議なボレロと女神の指輪は見てない。なくなった? AIは、マヌーサ/ラリホー/マホトーン辺りを効く相手にだけ積極的に使ってくれるので参考になる&便利。 勇者もAI駆動にできるモードが欲しかった 細かいと

  • C++がPythonより重い… @ 7bit

    GUI grepツールの調査過程は一応一段落し、当初のもくろみ通り製作に入ろうとしています。 今は特に苦もなく使えそうなPython, C++, C#のどれを用いるか検討中。 大量のファイルへのアクセスと正規表現のマッチは割と重い処理になりそうなので、実際にコードを書いて比較しています。 まず生grep。find | xargs grep '...'。直接Cで書かれていることを考えると、最速の基準として考えて良さそうです。日英対訳文対応付けデータ [1]をデータセットとして実験していますが、1.1秒くらいで2000ファイル近くのスキャンが終わる。 次に、書きやすそうなところでPython (re)でやってみました。所詮LLだし、結果には全然期待していません。 ところがところが、何故かこれが滅茶苦茶速い。 特に最適化したコードの書き方でもないんですが、1.6秒くらいで終わる。殆どC同等の速さ

    rawwell
    rawwell 2009/06/27
    "正規表現はboost.regex、Unicodeのエンコーディング変換はICU。"
  • zip の解凍 - Cube Lilac

    zip の解凍クラスが必要になったので作成.C/C++zip を扱う場合,zlib のサンプルコードの 1 つである minizip を使うのが一番楽そうなので,このライブラリを利用したラッパクラスを作成することを考えます. zip は,複数のファイル/ディレクトリをひとまとめにしてアーカイブ化できる機能があるので,この複数のファイルへの操作方法が問題となってきます.試行錯誤した結果,zip アーカイブ内の各要素(ファイル/ディレクトリ)を順に走査できるような iterator を用意して,通常はこの iterator を通して各ファイルにアクセスするような実装としました. サンプルプログラムは以下のようになります.unzip オブジェクトを生成した後は,begin() や find() メソッドを用いて zip アーカイブ内の処理を行いたいファイルへアクセスします.これらのメソッド

    zip の解凍 - Cube Lilac
    rawwell
    rawwell 2009/06/08
    "zip の解凍クラスが必要になったので作成.C/C++ で zip を扱う場合,zlib のサンプルコードの 1 つである minizip を使うのが一番楽そうなので,このライブラリを利用したラッパクラスを作成することを考えます. zip は,複数
  • 配列やコンテナをストリームとして扱う - Cube Lilac

    手元に配列や(string, vector, deque, などの)コンテナと言う形でデータを保持してるけれども,使用したい関数(メソッド)のインターフェース(引数)は istream と言うケースに遭遇することがあります.このとき,簡単な解決策として stringstream を利用することが挙げられるのですが,元のデータサイズが大きくなるとコピーのコストが高くなります.そこで,配列やコンテナをストリームとして扱うためのクラスを作成してみました. namespace clx { template < class CharT, class Traits = std::char_traits<CharT> > class basic_ivstream : public std::basic_istream<CharT, Traits> { public: typedef basic_ivst

    配列やコンテナをストリームとして扱う - Cube Lilac
    rawwell
    rawwell 2009/06/08
    "手元に配列や(string, vector, deque, などの)コンテナと言う形でデータを保持してるけれども,使用したい関数(メソッド)のインターフェース(引数)は istream と言うケースに遭遇することがあります.このとき,簡単な解
  • More C++ Idioms - Wikibooks, collection of open-content textbooks

    The latest reviewed version was checked on 8 September 2023. There are template/file changes awaiting review. C++ has indeed become too "expert friendly" -- Bjarne Stroustrup, The Problem with Programming, Technology Review, Nov 2006. Stroustrup's saying is true because experts are intimately familiar with the idioms in the language. With the increase in the idioms a programmer understands, the la

    More C++ Idioms - Wikibooks, collection of open-content textbooks
    rawwell
    rawwell 2009/05/28
    "The world is invited to catalog reusable pieces of C++ knowledge (similar to the book on design patterns by GoF). The goal here is to first build an exhaustive catalog of modern C++ idioms and later evolve it into an idiom language, just like a pattern language."
  • The Boost.Iterator Library Boost - 1.39.0

    rawwell
    rawwell 2009/05/25
    "The iterator categories defined in C++98 are extremely limiting because they bind together two orthogonal concepts: traversal and element access. For example, because a random access iterator is required to return a reference (and not a proxy) when dereferenced, it is impossible to capture the capa
  • いやなブログ: 配列操作の比較表: 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)

    rawwell
    rawwell 2009/04/16
    a.uniq, a.uniq!
  • pythonとc++のインターフェイスの比較 swig boost.python ctypes - niitsuma blog

    pythonc++のインターフェイスを作る方法には boost.pythonを使う方法 swigを使う方法 python.ctypesを使う方法 f2py (Fortranを使うためのInterface)を使う方法 pyreを使う方法 直接Cのインターフェイスを作る方法 があるようだ。 http://www.scipy.org/Cookbook のUsing NumPy With Other Languages のセクションにさらに詳しい解説がある。 ここでは特に配列(numpyの行列)をc++と連携して使う方法に注目していくつかの方法を比較する。numpyは数値計算や行列演算を行うpythonのパッケージでnumarrayの後継にあたる。numpyはnumarayと違って行列が配列の先頭ポインター(double *array)を渡すだけでc++とやりとりができる。そのためc++との連携

    pythonとc++のインターフェイスの比較 swig boost.python ctypes - niitsuma blog
  • 1