动态分配数组的有关问题
动态分配数组的问题C/C++ codeint lengthcout Please input seq length:cin lengthchar* seq
动态分配数组的问题
C/C++ code int length; cout << "Please input seq length:"; cin >> length; char* seq = new char[length]; cout << "Please input seq: "; cin >> seq;
简单的代码如上。
假如输入的length为1,但输入seq的时候可以输入长度大于1的字符串;并且内存中seq往后的地址都被修改。
这里动态分配数组的长度起不到限制作用吗?动态分配数组只是给了数组一个起始地址,然后就不管了?
[解决办法][解决办法][解决办法]C++本来就不负责你的越界问题,最多只会在程序崩了之后提示你是什么问题而已。。
就算你不写动态数组,写固定长度的数组也一样啊。。越界保护是需要程序员自己养成良好习惯去避免的。