指针的矢量大小

时间:2017-05-07 17:56:02

标签: c++ pointers vector capacity

我正在写一个类BitVector,我有一个返回BitVector容量的方法。我的想法是调用std :: vector capacity(),但是我收到一个错误,我有点困惑。以下是我的方法:

int BitVector::Size() {
int size = (int) this->bitVector().capacity();
}

我遇到的错误是“明显调用的表达式括号必须有(指向 - ) - 函数类型。这里有什么问题?

关于我班级的其他背景信息:

我的BitVector类有通常的公共构造函数,解构器等,然后是一个指向向量的私有指针,如下所示:

private:
std::vector<uint8_t>* bitVector;

在我的构造函数中,我将指针指向堆上的向量,如下所示:

BitVector::BitVector(int numBits) {
this->bitVector = new std::vector<uint8_t> (numBits, 0);
}

1 个答案:

答案 0 :(得分:1)

bitVector只是一个成员,而不是一个功能。它也是一个指针。

int size = (int)this->bitVector->capacity();

另外,请注意std::vector<bool> already specialized为位向量(每个bool使用1位),因此您需要重新发明轮子。