Consider piece of code
int main(int argc,char* argv[]){
int *arrPtr = new int[4];
for (int i=0;i<4;i++)
arrPtr[i]=i*2;
for (int i=0;i<10;i++){
arrPtr++;
cout<<"arrPtr ["<<i<<"]\t"<<*arrPtr<<endl;
}
cout<<endl;
return 0; }
When I compile this program
g++ main.cpp -o main && ./main
It gives me
arrPtr [0] 2 arrPtr [1] 4 arrPtr [2] 6 arrPtr [3] 0 arrPtr [4] 135145 arrPtr [5] 0 arrPtr [6] 0 arrPtr [7] 0 arrPtr [8] 0 arrPtr [9] 0
I want to be able to detect (throw or check) when arrPtr is not pointing to “valid” element.
In the code above last valid element is arrPtr[3].
No “Me Too” answers please!
Use a
vector.Result: