次のコードは、実行すべきではないときに実行されているようです。この例では:
#include <iostream>
using namespace std;
int main()
{
char data[1];
cout<<"Enter data: ";
cin>>data;
cout<<data[2]<<endl;
}
長さが 1 より大きい文字列 (例: "Hello") を入力すると、配列がそれを保持するのに十分な大きさであるかのように出力されます (例: "l")。配列よりも長い値を格納しようとしたとき、または配列の長さよりも大きいインデックスを持つ値を取得しようとしたときに、これはエラーをスローするべきではありませんか?