20070628

C++: at() function vs [] operator.

// αυτό αρχικοποιεί 5 τιμές του διανύσματος με τιμή 1
vector<int> v( 5, 1 );

// θα δώσει επικίνδυνα αποτελέσματα όταν i>=5
for( int i = 0; i < 10; i++ ) {
cout << "Element " << i << " is " << v[i] << endl;
}

// Αυτό είναι λιγότερο ασφαλές γιατί μέσω του at() γίνεται
// throw exception για i>=5
for( int i = 0; i < 10; i++ ) {
cout << "Element " << i << " is " << v.at(i) << endl;
}

Δεν υπάρχουν σχόλια:

eggs.in.art (my non-technical blog)