C++ 构造函数中的srand()的结果是否相同?
我使用以下结构随机生成一个整数字段:C++ 构造函数中的srand()的结果是否相同?,c++,srand,C++,Srand,我使用以下结构随机生成一个整数字段: GameManager::GameManager(){ srand(time(NULL)); } void GameManager::newGame(int sizen, int sizem) { //ETC for(int i = 0; i < sizen; ++i){ _gameField[i].resize(sizem); for(int j = 0; j < sizem; ++j){
GameManager::GameManager(){
srand(time(NULL));
}
void GameManager::newGame(int sizen, int sizem) {
//ETC
for(int i = 0; i < sizen; ++i){
_gameField[i].resize(sizem);
for(int j = 0; j < sizem; ++j){
_gameField[i][j] = RandomColor(difficulty);
}
}
}
int GameManager::RandomColor(Difficulty diff){
if(diff == Easy){
return rand()%4+1;
} else if(diff == Medium) {
return rand()%5+1;
}else{
return rand()%6+1;
}
}
不要把它放在构造函数中。好的,我不会,但为什么它不能从那里开始工作?你能创建一个吗?请发布一个,以及它生成的数字序列的开始部分。在构造函数中放置一个断点,查看它是否实际被调用,以及调用了多少次
class GameManager : public QObject
{
Q_OBJECT
public:
GameManager();
~GameManager();
int Size_n = 12;
int Size_m = 7;
Difficulty difficulty = Easy;
void newGame(int sizen, int sizem);
QVector<QVector<int> > _gameField;
QVector<QPair<int,int> > _taboo;
private:
int RandomColor(Difficulty diff);
};