タグ

C++とqiitaに関するni66lingのブックマーク (3)

  • 忘れがちな C++ の標準ライブラリの使い方 - Qiita

    実は,C++ 標準ライブラリで基的なアルゴリズムは用意されている.案外これが知られてなかったり忘れられてたりするのでメモしておく. std::max_element, std::min_element min_element, max_element は,最小値,最大値のイテレータを返してくれる関数. std::vector<int> vec(100); for (size_t i = 0; i < vec.size(); ++i) { vec[i] = i; } std::random_shuffle (vec.begin(), vec.end()); // std::*_element は,イテレーターを返すので '*' で値を取得する int min = *std::min_element(vec.begin(), vec.end()); int max = *std::max_e

    忘れがちな C++ の標準ライブラリの使い方 - Qiita
  • [c++,boost] boost::graphのお勉強 - Qiita

    Boost Graph Library BGL(Boost Graph Library)自体が何であるか、目的は何であるかはこのページにある。 重要な事はBGL自体で完結したグラフライブラリを提供する事ではなく、BGLを使って、汎用的で持続可能なグラフ理論のアルゴリズム作成を支援する事である。 これに関連して、興味深い例が先に掲げたページにあるので、興味のある人は参照して欲しい。 コンセプト:Graph 一般的に、グラフの効率的な実装は状況により異なる。 そのため、様々なグラフの実装が用いられるが、GraphコンセプトはBoost Graphで用いられるグラフの実装に共通の要件を提供する。 Graphコンセプトを満たす型は次の条件を満たさなければならない。 . vertex_descriptor typedef名を持つ . edge_descriptor typedef名を持つ . dir

    [c++,boost] boost::graphのお勉強 - Qiita
  • C++テンプレートテクニック - Qiita

    今、「C++のためのAPIデザイン」を読んでます。 テンプレートを使用する際の、テクニックについてまとめてみました。 C++のためのAPIデザイン 目次 テンプレートとは? テンプレートの用語 特殊化 部分的な特殊化 非明示的なインスタンス化のAPI設計 明示的なインスタンス化のAPI設計 テンプレートとは? テンプレートとは、コンパイル時にコードを生成する機能です。 型だけが異なる大量のコードを、生成する時など特に役に立ちます。 良く知られている例として、C++のコンテナクラスがあります。 vector<int> int_vector; // int型を扱うVectorクラスのインスタンス vector<float> float_vector; // float型を扱うVectorクラスのインスタンス vector<string> string_vector; // string型を扱う

    C++テンプレートテクニック - Qiita
  • 1