所以,我有以下情況:如何檢查一個向量是否在C++中的2d向量中指向空向量?
我宣佈整數向量的向量爲vector < vector<int> > edges
。基本上,我試圖使用其中圖被定義如下上述實施的曲線圖:
class graph
{
public:
int vertices;
vector < vector<int> > edges;
};
現在,一個邊緣的插入過程中,我採取輸入作爲起始頂點和結束頂點。現在,我想要做這樣的事情:
void insert(int a, int b, graph *mygraph) // a is starting vertex and b is ending vertex
{
auto it = mygraph->edges.begin();
//int v = 1;
vector<int> foo;
foo.push_back(b);
if (mygraph->edges[a].size() != 0) // Question here?
mygraph->edges[a].push_back(b);
else
mygraph->edges.push_back(foo);
return;
}
現在,在標有Question here
行了,基本上,我想檢查是否爲特定條目的載體存在與否? size
實際上是錯誤的,因爲我試圖在不存在的向量上調用大小操作。換句話說,我想檢查一下,如果有矢量存在於矢量矢量中的特定位置。我該怎麼做?例如,mygraph->edges[a] != NULL
?
它會存在當且僅當'一< mygraph-> edges.size()'。 – molbdnilo