我正在與一個矢量工作,需要檢查是否存在在矢量的特定點的元件存在的元件,如myvec[7]
C++檢查,如果在矢量
我需要一個循環外工作,並能夠對向量中的任何給定點執行此檢查。用矢量做這件事最有效的方法是什麼?
我正在與一個矢量工作,需要檢查是否存在在矢量的特定點的元件存在的元件,如myvec[7]
C++檢查,如果在矢量
我需要一個循環外工作,並能夠對向量中的任何給定點執行此檢查。用矢量做這件事最有效的方法是什麼?
這是您正在查找的支票:(myvec.size() >= 8)
。在C++中,矢量中沒有空白元素 - 即矢量元素具有連續的索引。
有兩種方法可以做到這一點。
接下來的代碼示例將假定我們想要做與元v [n]的東西在向量v
方式1:
if(n<v.size())
//do something with v[n]
else
//do something else
方式2:
//do something using v.at(n) instead of v[n]
如果您嘗試訪問不在矢量中的元素,將會引發異常。
要使用哪一個?取決於案件。
如果元素不在矢量中,您可以工作嗎?使用第一種方法。
擁有此元素對於您的代碼至關重要。使用第二種方法,讓STL檢查它的存在,並且不要忘記捕獲異常。