Sto facendo una funzione di utilità indexOfReverse nel mio programma C ++, e ho preso un po 'di intoppo. L'implementazione dell'offset e di maxOffset nel mio indexOf è stata molto intuitiva per me .. Questi iniziano dall'inizio della stringa (+ offset) e vanno avanti fino alla fine della stringa (o maxOffset se specificato).
Durante l'implementazione degli offset per indexOfReverse, però, mi chiedevo quale fosse il modo più logico per farlo? L'offset dovrebbe essere dall'inizio della stringa o alla fine della stringa? C'è una norma stabilita per questo mi manca da qualche parte? Ho provato a spiegarlo alla mia papera, ma lui mi ha guardato in modo strano. Sono propenso a pensarci dall'inizio, perché la sua facilità d'uso è più preziosa per me del suo contro-intuitivo .. considerando l'offset dalla fine, mi rende più difficile pensare nella mia testa. / p>
Ho visto come è fatto in una libreria di stringhe per C ++ , PHP e Python , e ciò che sembra comune nella descrizione di ognuno è trovare l'ultima occorrenza di una stringa in cui l'offset è considerato dall'inizio, piuttosto che fare una vera ricerca inversa ... Ma io desidero vera ricerca per la stringa inversa piuttosto che per l'ultima occorrenza. C'è un modo più logico per considerare questo, però, quindi posso andare avanti?