/ / Was macht der at-Operator in C ++? Zum Beispiel string.at oder word.at - c ++, Funktionen und Operatoren

Was macht der "at" Operator in C ++? Zum Beispiel, string.at oder word.at - c ++, Funktion, Operatoren

// Iterate(loop/repetition) over the word
for(int i = 0; i < (int)word.size(); i++ ){
// Get a character
char ch = word.at(i);

// If the character matches the character we"re looking for
if(searchCh == ch){

// Increment a counter
counter++; // counter = counter + 1

Was bedeutet word.at (i) im Operator oder was bewirkt der Operator "at" in C ++? Zum Beispiel string.at oder word.at

Antworten:

1 für die Antwort № 1

Sie meinen wahrscheinlich "wie ist" word.at(i) anders als word[i]"?

word.at(i) prüft im Allgemeinen, ob i ist in Reichweite und wirft eine Ausnahme, wenn nicht. word[i] nur ist undefiniertes Verhalten wenn i ist außerhalb des Bereichs.

Auch mit word[word.size()] Sie können auf das implizite Trailing zugreifen ""-byte, aber für word.at(word.size()) Der Index liegt außerhalb des Bereichs.


0 für die Antwort № 2

at() ist eine Memberfunktion in C ++. s.at() gibt den Buchstaben an Position zurück i in der Schnur Aber wenn die Position ist nicht im Bereich, wirft eine Ausnahme.