Boost

boost::string_ref に c_str() がない理由

string_ref について Boost 1.53.0 で追加された String_Ref は、文字列の所有権を持たずに先頭のポインタとサイズだけを持つクラスです。const string& の引数を受け取る関数に const char* を渡すと、不要な string オブジェクトが作成されてしまいますが…

Boost.Multiprecision で桁あふれしない階乗と円周率 1 万桁

Boost 1.53.0 では、多倍長精度の整数、有理数、浮動小数点数を扱う Multiprecision ライブラリが追加されました。 どの数値型も基本的な演算子に対応し、浮動小数点数は Boost.Math を含む pow や sin などの数学関数に対応しています。整数型は、コンパイ…