4 ms·
That's been my experience, I've done it but never anything that a scanning or tokenizing algorithm couldn't do. So being able to iterate over characters is imp
by ben509 7y ago
That's been my experience, I've done it but never anything that a scanning or tokenizing algorithm couldn't do.
So being able to iterate over characters is important, but constant time access to a specific character seems very rare.
I think the only case where I've wanted a specific character was when I wrote games that loaded maps from text files and those were ASCII regardless.
- magicalhippo 7y agoSome of the records are over 1k chars wide, and we need stuff near the end. Though if one had to decode the line from UTF-8, you're iterating anyway so...
- ben509 7y agoI could see a case for it if you were finding line endings in bytes mode, and then casting a buffer to a UTF-8 string. Then you'd benefit from a reverse iterator, which UTF-8 supports just fine. I imagine the main reason people would use indexing is to scan through strings in lockstep, e.g. to implement comparison, but iterators can cover that case as well, especially if you can copy them.