for ループといえばつい手癖で
for (int i =0; i < count-1; ++i ) {...}
と書いてて、
後日に count を int から size_t にしたとき
countが0のケースではまったことがあるなあ

for (int i =0; i + 1 < count; ++i ) {...}
と書けば良いだけなんだけど