タグ

C++に関するosamu0329のブックマーク (7)

  • GCC 4.9リリース

    GCC, the GNU Compiler Collection - GNU Project - Free Software Foundation (FSF) GCC 4.9がリリースされた。少なくとも、公式Webサイトのトップページからは、リリースされたことになっている。ただし、なぜかリンクをたどると GCC 4.9 Release Series — Changes, New Features, and Fixes - GNU Project - Free Software Foundation (FSF) GCC 4.9がリリースされた。興味深い変更点を上げると。 大昔の、もはや保守もテストもされていないようなプラットフォームのサポートがobsolete扱いになった。もし、活発な活動が行われない場合、次のリリースでは取り除かれるそうだ。特に、Solaris 9が挙げられている。 Cla

  • Boost.Graphの設計と、最短経路アルゴリズムの使い方いろいろ

    pdf file is here: https://dl.dropboxusercontent.com/u/1682460/presentation/boost_14/bgl_design_and_shortest_path.pdfRead less

    Boost.Graphの設計と、最短経路アルゴリズムの使い方いろいろ
    osamu0329
    osamu0329 2014/03/01
    C++でグラフ使うときに読みなおす。
  • DLLを作ろう!(クラス編)

    前々回はDLLに関数を作製しました。今回はクラスを作製します。 で、クラスを作るだけだとかなり簡単なので、デバッグバージョンとリリースバージョンについての解説もしたいと思います。 プロジェクトの作製 前々回と同じく、「MFC AppWizard (DLL)」を作製し、ウィザードダイアログで「MFC の拡張 DLL(MFC の共有 DLL 使用)」を選択して、「終了」ボタンを押せばOK。ってゆーか、今回は前々回のをそのまま使いますので、まだ見てない方はそちらからご覧ください。 クラスの作製 最初に、エクスポートするクラスを作製します。 ワークスペースの「Class View」を表示し、一番上の「* クラス」(*はプロジェクト名)を右クリックし、「クラスの新規作製」を選んでください。 今回はテストなので、基的にはどんなクラスでもOKです(実際のクラスの作製方法についてはクラスを作ろう!を参考

  • More C++ Idioms/生成の追跡(Construction Tracker) - Wikibooks

    [編集] 意図[編集] コンストラクタの初期化リスト中で同じ型の例外を送出しうる 2 つ以上のオブジェクトを初期化する際に、例外を送出したデータメンバを識別する。 別名[編集] 動機[編集] コンストラクタの初期化リスト中で 2 つ以上のオブジェクトを初期化し、その全てが同じ例外(std::exception) を送出しうる場合を考えよう。この際、初期化リストの周りには、ただ 1 つの try ブロックしか置けないため、どのオブジェクトの構築が失敗したかを追跡するのはやっかいな問題になる。そのような try ブロックは関数 try ブロック(function-try block)に過ぎないが、「コンストラクタ try ブロック」という特別な呼び名を持つ。 解法とサンプルコード[編集] 生成の追跡(Construction Tracker)イディオムは、初期化リスト中での正常なオブジェクトの

    osamu0329
    osamu0329 2013/11/11
    おどろきのtry・・・
  • More C++ Idioms/初回使用時生成(Construct On First Use) - Wikibooks

    [編集] 意図[編集] 最初に使用される前に、オブジェクトが初期化されることを保証する。 特に、非ローカル静的オブジェクトに対して保証する。 別名[編集] 遅延生成・評価 動機[編集] 自明でない(non-trivial)コンストラクタを持つ静的オブジェクトは使用前に初期化されねばならない。十分な注意を払わないと、初期化されていない非ローカル静的オブジェクトをアクセスしてしまう場合がある。 struct Bar { Bar () { cout << "Bar::Bar()\n"; } void f () { cout << "Bar::f()\n"; } }; struct Foo { Foo () { bar_.f (); } static Bar bar_; }; Foo f; Bar Foo::bar_; int main () {} 上記コードでは、Bar::f() が Bar の

  • ゲーム開発者のための C++11/C++14

    constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだGenya Murakami

    ゲーム開発者のための C++11/C++14
  • 予定外 Visual C++ Express Editionでプロファイラを使ってみる

    [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 ソフト開発の技術書には、パフォーマンス最適化について書かれているものも多いですが、そこで必ずと言っていいくらいに述べられているのが、「コードを書く時点から最適化をしない」「手を加える前にまずパフォーマンスを測定せよ」ということです。 「プログラムの処理にかかる時間の80%はコード全体の20%の部分が占める」という、いわゆるパレートの法則に則り、まず測定によってプログラムの実行時間の大半を占めるわずかな部分のコードを割り出して、そこを集中的に改善しましょう、というのが定説です。 コードの測定には通常、プロファイラと呼ばれるツールを使います。 プロファイラは、どの関数がどのくらいの時間実行されていたか、何回呼び出されたかなどの方法を収集して解析し、ボトルネックとなっている部分を探すこ

  • 1