저는 원자 객체에 대한 간단한 클래스를 작성하고 있습니다. 여기에 내가 지금까지 쓴 내용은 다음과 같습니다기본 생성자가 무작위 값을 설정합니다.
#include <random>
class Atom {
int mSpin;
public:
Atom();
Atom(int);
Atom(const Atom&);
~Atom() {}
Atom& operator= (const Atom &atom);
};
그리고 .cpp 파일 :
include "Atom.h"
Atom::Atom() {
}
Atom::Atom(int spin) : mSpin(spin) {}
Atom::Atom(const Atom& copy) : mSpin(copy.mSpin) {}
/* OPERATORS */
Atom& Atom::operator= (const Atom ©) {
mSpin = copy.mSpin;
return *this;
}
내가 기본 생성자를 만들고 싶어 그런 내가 객체를 생성하고있을 때, mSpin 무작위로 될 것 1 또는 -1로 설정하십시오. 나는 rand()로 그것을하는 방법을 이해하지만 rand()는 그리 좋지 않고 사용하고 싶다. 나는이 문서의 사용과 다른 대답에 대해서도 혼란스러워합니다. 보통 내가 이런 걸 할 거라고 :
#include <random>
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<> dis(0,1);
int random_number = dis(gen);
을하지만 클래스 내에 사용하는 방법을 모르겠어요. 나는 그것을 기본 생성자 안에 넣으려고했으나 원자를 만들 때마다 그것이 시드되기 때문에 잘못되었다고 생각하니?
희망 사항은 분명합니다.
정말 고마워요! 나는 당신의 대답을 투표 할 것이지만 그것을하기에 충분한 명성이 없습니다. – Lilith
문제가 없습니다. 그러나 당신이 질문을 올린 사람이기 때문에 그것을 당신이 인정하는 대답으로 표시 할 수 있습니다. 그건 그렇고, 당신의 이싱 모델들에게 행운을 빈다. –
이제 승인 된 답변입니까? 나는 그렇게 희망한다! Ising 모델에 대한 것이 너무 명백 했습니까? : D – Lilith