/ / Cosa fa l'operatore "at" in C ++? Ad esempio, string.at o word.at - c ++, funzione, operatori

Cosa fa l'operatore "at" in C ++? Ad esempio, string.at o word.at - c ++, funzione, operatori

// 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

Cosa significa word.at (i) nell'operatore o cosa fa l'operatore "at" in C ++? Ad esempio, string.at o word.at

risposte:

1 per risposta № 1

Probabilmente vuoi dire "com'è word.at(i) diverso da word[i]"?

word.at(i) generalmente controlla se i è nel raggio d'azione e genera un'eccezione se non lo è. word[i] è solo un comportamento indefinito se i è fuori portata.

Inoltre, con word[word.size()] puoi accedere al sottotitolo implicito ""-byte, ma per word.at(word.size()) l'indice è fuori portata.


0 per risposta № 2

at() è una funzione membro in C ++. s.at() restituisce la lettera in posizione i nella stringa. Ma se la posizione è non nella gamma, genera un'eccezione.