我是 C++ 新手,所以这可能是一个简单的问题。我在类预测器中声明了一个向量向量:
class Predictor{
std::vector<std::vector<BitCounter>> data;
public:
Predictor();
void addBit(int x);
};
BitCounter 声明为:
class BitCounter {
short int count0 = 0;
short int count1 = 0;
public:
BitCounter();
short int getCount0();
short int getCount1();
void addBit(int x);
};
在 Predictor::addBit 中,我有以下几行:
BitCounter bit_counter = data[i][j];
printf("%p %p\n", &bit_counter, &data[i][j]);
这给了我两个不同的地址,我希望得到相同的地址。我犯了什么愚蠢的错误?