복사 생성자를 사용하여 복사본을 만든 다음 저장된 상태를 복원 할 때 (또는 복사본을 사용하거나 코드를 구조화하려는 경우) 할당을 지정하십시오.
int main()
{
mtt19937 engine(10);
std::cout
<< engine() << "\n"
<< engine() << "\n"
<< engine() << "\n"
<< engine() << "\n"
<< engine() << "\n\n";
std::cout << "Making Copy\n\n";
mtt19937 copy(engine);
std::cout
<< engine() << "\n"
<< engine() << "\n"
<< engine() << "\n"
<< engine() << "\n"
<< engine() << "\n";
std::cout << "----\n";
engine = copy;
std::cout
<< engine() << "\n"
<< engine() << "\n"
<< engine() << "\n"
<< engine() << "\n"
<< engine() << "\n";
}
출력 : 답장을
266666648
1113235983
1006007037
1572197236
322379391
Making Copy
1241299006
1359151196
1840219852
755708724
110209057
----
1241299006
1359151196
1840219852
755708724
110209057
감사합니다; 나는 엔진을 디스크에서 /로 저장하는 것에 대해 더 많은 것을 생각하고 있었지만 이것은 알고있는 것이 좋다. – fbrereto
질문에 대한 오해. 다행히 대답을 찾았습니다. –