#include <iostream>
#include <vector>
int main()
{
std::vector<int> sum(1);
sum.push_back(1);
sum[0] = 1;
std::cout << sum[1];
}
Run Code Online (Sandbox Code Playgroud)
为什么结果是1?我从来没有定义 sum[0]。
此行创建一个大小为 1 的向量,其值为 0
std::vector<int> sum(1); // sum now contains { 0 }
Run Code Online (Sandbox Code Playgroud)
然后在你之后 push_back
sum.push_back(1); // sum now contains { 0, 1 }
Run Code Online (Sandbox Code Playgroud)
然后你分配第一个值
sum[0] = 1; // sum now contains { 1, 1 }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
60 次 |
| 最近记录: |