当我在比较中使用 vector.size() 时,它给出了意想不到的结果
vector<int> v;
for(int i = 0; i < v.size() -1;++i){
printf("i = %d\n", i);
printf("v[i] = %d\n", v[i]);
}
Run Code Online (Sandbox Code Playgroud)
由于向量的大小为 0,它不应该打印任何内容,而是进入 for 循环并打印i = 0并给出分段错误。但它不应该甚至进入for循环v.size() - 1的-1。
为什么会发生?