int main() {
vector <int> multiples(1);
cout << multiples[0];
}
これは、1 にしたいときに 0 を返します。これは、ベクトルを 1 つの要素で初期化すると発生しますが、2 番目の要素にアクセスできます。
int main() {
vector <int> multiples(1, 4);
cout << multiples[1]; // 4
}
さらに、ベクトル内の存在しない要素にアクセスしようとすると、一番右の要素 (この場合は 4) の値を取得します。しかし、最初の要素を取得できないようです。誰でも理由を説明できますか?