В этом коде:
std::default_random_engine e;
std::default_random_engine e2 = e; //1
std::default_random_engine e3(e2); //2
std::default_random_engine e4(std::move(e3)); //3
std::uniform_real_distribution<double> d(0,1);
std::uniform_real_distribution<double> d2 = d; //4
std::uniform_real_distribution<double> d3(d2); //5
std::uniform_real_distribution<double> d4(std::move(d3)); //6
Можете ли вы объяснить, что именно происходит в каждом из случаев с 1 по 6? Я не вижу назначения копии, копирования конструкции и перемещения конструкции для этих классов документально где-нибудь.
В частности: Когда мы создаем новый движок/дистрибутив от другого, делает ли он reset или , где он остановился?