我有一個std::vector
。我檢查它的大小是6,但是當我嘗試訪問vec[6]
來檢查它是否會給出錯誤時,我不會收到任何錯誤,但會得到一些數字。它不應該給出一個錯誤?矢量超出範圍而不給出錯誤
編輯:是這樣的:
struct Element
{
std::vector<double> face;
};
int main()
{
Element elm;
.... // insert 6 elements into elm.face
std::cout << elm.face.size() << std::endl; // answer is 6
std::cout << elm.face[6] << std::endl; // answer is some number
}
大小爲6,所以最後是'VEC [5]'0 – Bill
不知道從哪裏開始你得到的想法,'VECTOR'將在一個無效的指數使用'操作符[]'拋出一個錯誤。文檔肯定會另有說明。 –
'注意,第一個元素是0(不是1).'的位置 - http://www.cplusplus.com/reference/vector/vector/operator[]/ – Bill