在我的程序中,我正在滚动五个骰子,这些骰子是从以下可能尺寸中随机选择的:4面,6面,8面,10面,12面,20面和100面。当我编译头文件和实现文件时,将打开“alloc_traits.h”文件。我是C ++的新手,我以前从未见过这个。它的目的是什么?当我尝试编译时,为什么这个文件会打开?这是我的标题和主要文件。
标题
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <vector>
class Die
{
private:
int num_faces;
int face_value;
public:
Die ()
{
int face_value = 1;
int num_faces = 1;
}
Die (int size)
{
num_faces = size;
}
int roll()
{
return rand()%num_faces + 1;
}
int get_face_value()
{
return roll();
}
int get_num_faces()
{
return num_faces;
}
};
主要
#include <iostream>
#include <cstdlib>
#include <ctime>
#include "header.h"
#include <vector>
using namespace std;
int main(int argc, char *argv[])
{
//4,6,8,10,12,20,100
vector<int> die_sizes;
die_sizes.push_back(4);
die_sizes.push_back(6);
die_sizes.push_back(8);
die_sizes.push_back(10);
die_sizes.push_back(12);
die_sizes.push_back(20);
die_sizes.push_back(100);
for(int i = 0; i < 5 ;++i)
{
int random_index = rand()%die_sizes.size();
Die die(die_sizes.at(random_index));
die.roll();
cout << "d" << die_sizes.at(random_index) << " = " << die.get_face_value() << ", ";
}
return 0;
}