タグ

ブックマーク / d.hatena.ne.jp/nagoya313 (4)

  • VC++2010のto_stringは使いものにならない - 名古屋313の日記

    C++ | 22:42std::to_stringは簡単に言うと数値を文字列に変換してくれる関数です。VC++2010では次のコードがオーバーロードが解決できずにコンパイルが通りません。 std::to_string(0); int a = 0; std::to_string(a); double b = 0.0; std::to_string(b); というのもVC++2010のto_stringは次の3つの形式しか用意されていないのです。 string to_string(long long val); string to_string(unsigned long long val); string to_string(long double val); というわけでこれとかは問題なくコンパイル通ります。 long double c = 0.0; std::to_string(c);

    ikasam_a
    ikasam_a 2011/02/19
  • Boost.Property_treeで暗号化したiniファイルを読んでみる - 名古屋313の日記

    C++, boost | 13:37iniファイルでゲームのデータを管理してみようかしらと無謀な考えが頭をめぐった矢先にiniファイルだと暗号化したものとか読めないからキャラクタのデータとかには使えないねとか言われてました。そこでは独自にiniファイル的サムシングと解析するものを作ったほうがいいですと書かれていたんですが、そこは流石Boost。暗号化したiniファイルも解析できるじゃないですか。早速ソースです。 #include #include #include #include #include #include #include #include #include #include #include #include // 適当に復号フィルターを作る class ango_filter : public boost::iostreams::input_filt

  • std::unique_ptrとstd::shared_ptr - 名古屋313の日記

    C++, STL, win32 | 12:13なんかVC++2010だとstd::unique_ptrが使えたのでメモメモ。std::unique_ptrといえば、boost::scoped_ptrがなんか知らないけど名前が変わっちゃったものという認識がありましたがstd::unique_ptrの方はカスタムデリータが使用出来るみたいです。std::shared_ptrだとオーバースペックだからboost::scoped_ptr使いたいけどカスタムデリータ使えないから不便だなー的なものが解消されました。カスタムデリータはdelete以外の方法でリソースを解放するポインタをスマートポインタに入れるのに使うわけです。自分で専用のRAIIオブジェクト作ればいーじゃん的な話もあると思いますが、スマートポインタは結構慎重に作らないとすぐにアホなポインタが出来上がってしまうので、やはりC++のエキスパ

    ikasam_a
    ikasam_a 2010/08/04
  • 第1回〜ウィンドウを表示する〜 - 名古屋313の日記

    C++, win32, boost | 13:03これがDXライブラリとかなら一発なのですがwin32で作るとなるとなかなか複雑です。今回はこのウィンドウを作成する基盤となるアプリケーションクラスを作ります。私の好みとして、メイン関数内にはアプリケーションの基盤となるクラスのインンスタンス生成とそのメインループメソッドしか置かないという嗜好があるので、完成するメイン関数は次のような物を想定しています。 // main.cc #include #include "application.h" namesppace { const LPCSTR kCaption("ウィンドウタイトル"); const int kClientWidth(640); const int kClientHeight(480); const bool kWindowed(true); } int WINAPI Wi

    ikasam_a
    ikasam_a 2010/04/04
  • 1