指针声明向量

Vector of pointer declaration

看着教授给我的一些代码,我不明白发生了什么。我是编程新手,完全迷路了。

vector <_Account*>*myvector = nullptr;

所以我知道他制作了一个矢量,我知道一个名为 Account 的现有 class 那么这是指向 Account 对象的 vector 指针吗?我不知道第二个星号是做什么的?

这是指向 _Account(非常糟糕的命名)的指针向量的指针 class。要使用该向量,它应该被分配,或者分配给已经存在的相同类型向量的地址。要使用它的 _Account 元素,这些元素又需要分配或分配给现有 _Account 实例的地址。

myvector 是指向 vector 的指针(很可能是 std::vector + bad practice using namespace std;)指向 _Account 的指针。这行没有创建实际的vector,只是一个可以存储地址的变量。

_Account 是一个 implementation reserved identifier 顺便说一句,不能使用它。

让我们把它分成两步:

typedef vector<_Account*> objectvector;

objectvector *myvector = nullptr;

1) objectvector 是指针向量(_Account 类型)。

2) myvector 是指向objectvector 类型的指针。