for(int i = 0; i < s.length(); i++) { if(s[i] == 'c' && s[i+1] == 'h'); ...
- というコードを見かけた
- 配列でやったら範囲エラー
- 文字列は終端 '\0' なのでOK
- 読むだけならね。書き換えはダメ
s[-1]も読んでいいんです!
- 配列だとアクセスできるのは 0〜A.size()-1 だけど、文字列なら左右に1つずつ広く読む分にはOKなのね
学び
- s = "abcde" として、
- s[-1], s[5] は読む分にはOK
for(int i = 0; i < s.length(); i++) { if(s[i] == 'c' && s[i+1] == 'h'); ...