矢量在超出边界时给出0作为输出

Vector gives 0 as output when out of bounds?

本文关键字:输出 边界      更新时间:2023-10-16

我正在玩嵌套向量并打印随机元素以查看输出,我注意到当我脱离界限时,我不会遇到错误。我只是将0返回为值。

为什么这是?

每当我试图通过索引调用越野元素时,向量要调整并初始化为零?

这是我正在运行的代码:

#include <iostream>
#include <vector>

int main(){
  std::vector<std::vector<int>> matrix;
  std::vector<int> temp;
  temp.push_back(1);
  temp.push_back(2);
  matrix.push_back(temp);
  std::cout << matrix[0][45] << std::endl;
  return 0;
}

您的行为不确定,它打印0只是一个巧合。