"object"和"object*"的区别

The difference between "object" and "object*"

本文关键字:object 区别      更新时间:2023-10-16

graph.h

struct Edge {
    int from;
    int to;
    int elabel;
    unsigned int id;
    Edge(): from(0), to(0), elabel(0), id(0) {};
};

vector<Edge>vector<Edge*>之间有什么区别?我知道vector<Edge>是一个存储Edge对象的数组,但Edge*对象是什么?

Edge*类型是一个指向边的指针。因此,vector<Edge*>是一个存储指向边的指针的向量。

向量本身不存储对象,只存储指向这些对象的指针。这特别意味着,当指针的生存期结束时,指向的对象不会自动删除。

Edge*是指向Edge的指针。阅读C++中的指针。