タグ

ブックマーク / yohhoy.hatenadiary.jp (2)

  • 標準ライブラリrandomの分布生成器は処理系依存 - yohhoyの日記

    C++標準ライブラリ<random>で提供される分布生成器(distribution)は、具体的なアルゴリズムまで規定しないため処理系毎に異なる乱数列が得られる。乱数生成エンジン(engine)のアルゴリズム/パラメータが言語仕様で定義されるのとは対照的(→id:yohhoy:20130719)。 #include <random> std::mt19937 rng; // engine std::normal_distribution<> dist; // distribution // rng()で生成される値は全処理系で同一 // dist(rng)で生成される値は処理系依存 複数の処理系間で同一乱数列を得る必要があるときは、Boost.Randomライブラリなどを利用すること。正直、C++標準でポータブルな分布生成器まで提供した方が良かったのでは… 2016-02-25追記:Boo

    標準ライブラリrandomの分布生成器は処理系依存 - yohhoyの日記
  • 特殊メンバ関数とコンパイラによる暗黙宣言 - yohhoyの日記

    プログラミング言語C++における特殊メンバ関数(special member functions)のユーザ宣言/コンパイラ暗黙宣言に関するメモ。記事の内容はACCU 2014でのHoward Hinnant氏プレゼン(PDF) "Everything You Ever Wanted To Know About Move Semantics (and then some)" に基づく。 下記6つが特殊メンバ関数として扱われる。これらのメンバ関数は、“宣言なし”、“暗黙の宣言(defaulted/deleted)”、“ユーザ宣言(=default/=delete/ユーザ定義)”のいずれかとなる。 デフォルト・コンストラクタ X() デストラクタ ~X() コピー・コンストラクタ X(const X&) コピー代入演算子 X& operator=(const X&) ムーブ・コンストラクタ X

    特殊メンバ関数とコンパイラによる暗黙宣言 - yohhoyの日記
  • 1