std::uniform_int_distribution って負の値を正常に返せないのかな。VC でしか試していないのですが、んー。なんでなんだろ。
std::mt19937 aRandEngine; std::uniform_int_distribution<int> aRandDist(-2, 2); const auto aRand = aRandDist(aRandEngine); // -2 が出ない…
仕方ないので、下駄履かせて対応してみました。
std::mt19937 aRandEngine; std::uniform_int_distribution<int> aRandDist(0, 4); const auto aRand = aRandDist(aRandEngine) - 2; // 要件は満たすけど…
んー。なんだか腑に落ちません。