我想创建一个程序,可以帮助用户创建一个以任意整数开始的数组索引。 它也应该在执行/访问超出边界的数组组件时通知用户。如何创建一个让用户知道他们超出界限的数组?
这是我到目前为止。
#include <iostream>
using namespace std;
int main(){
class safeArray;
};
const int CAPACITY=5;
我已经将数组的容量设置为5,所以可以有一个限制。让用户能够跳出界限。
class safeArray() {
userArray= new int [CAPACITY];
用户将能够为阵列中的每个插槽创建一个新的int值。
cout <<"Enter any integers for your safe userArray:";
if (int=0;i<CAPACITY;i++) {
cout<<"You are in-bounds!";
}
else (int=0;i>CAPACITY;i++){
cout<<"You are OUT-OF-BOUNDS!";
cout<<endl;
return 0;
};
我用if-else语句去检查数组下标吗? 我是C++新手,所以如何澄清错误或方法以简化它将会有所帮助。 谢谢。
你很幸运。 C++已经有一个带边界检查的数组对象,它被称为'std :: vector',如果索引超出范围,它的'at()'方法将抛出一个异常。将它继承是一件简单的事情,并且重载'[]'操作符来调用'at()'。到目前为止,子类化和运算符重载并不是“C++新手”可能学到的东西。所以,继续阅读你的C++书籍,最终你会到达那里。 –
当你事先知道数组的大小时,最好使用'std :: array',当索引超出范围时,'std :: array :: at'方法将抛出'std :: out_of_range'。 – user2176127
固定大小的std :: array也具有与在()中使用相同的边界检查。 http://en.cppreference.com/w/cpp/container/array/at –