有人能说为什么这段代码打印 0 吗?我认为它会显示一些例外情况。
int main()
{
std::vector<int> v;
v.push_back(8);
cout << v[-1];
}
Run Code Online (Sandbox Code Playgroud)
为什么向量中的第 -1 个索引始终为 0?
它不是。程序的行为未定义。
我认为它会显示一些例外情况。
你的期望被误导了。std:vector::operator[]当索引越界时,不能保证抛出异常。
std:vector::at 确实如您所愿。
| 归档时间: |
|
| 查看次数: |
61 次 |
| 最近记录: |