vector<Point<T>*> vertices;什么意思
时间: 2023-12-20 10:04:27 浏览: 79
这是一个 C++ 语言中的模板类定义,定义了一个名为 vertices 的变量,其类型为存储了指向 Point<T> 类型指针的 vector(向量)。
Point<T> 是一个模板类,表示一个坐标点,T 表示点的坐标数据类型(如 int、float、double 等)。因此,vertices 存储了一些 Point<T> 类型的指针,可以用来表示一个点集合。
相关问题
vector<Point<T> *> vertices; 如何访问vertices中point成员
可以使用箭头运算符 "->" 来访问 vertices 中的 Point 对象的成员变量。示例代码如下:
```
// 假设 vertices 中已经有了 Point 对象的指针
Point<T> *p = vertices[0]; // 获取 vertices 中第一个 Point 对象的指针
T x = p->x; // 访问 Point 对象的 x 成员变量
T y = p->y; // 访问 Point 对象的 y 成员变量
```
需要注意的是,访问 Point 对象的成员变量之前,需要保证该对象已经被创建并且指针已经被存储在了 vertices 中。
vector<Point<T> *> vertices;访问vertices[0]的数据
由于 `vertices` 是一个存储 `Point<T> *` 类型指针的向量,访问 `vertices[0]` 实际上是访问该向量中第一个指针的地址,而非 `Point<T>` 的实际数据。如果要访问该指针所指向的 `Point<T>` 数据,可以使用箭头运算符 `->`,如下所示:
```cpp
Point<T>* p = vertices[0]; // 获取第一个指针
T x = p->x; // 访问该指针所指向的 Point<T> 对象的 x 坐标
T y = p->y; // 访问该指针所指向的 Point<T> 对象的 y 坐标
```
如果你需要直接访问 `vertices[0]` 所指向的 `Point<T>` 对象而非指针,可以使用解引用运算符 `*`,如下所示:
```cpp
Point<T>& p = *(vertices[0]); // 获取第一个指针所指向的 Point<T> 对象
T x = p.x; // 访问该 Point<T> 对象的 x 坐标
T y = p.y; // 访问该 Point<T> 对象的 y 坐标
```
但需要注意的是,使用指针可以避免对象的复制,提高程序效率。
阅读全文