assert(idx < size_);
これでは、まちがって引数に負の値を入れてしまい、なおかつ現在のサイズが非常に大きい場合にエラーを検知できない
intにしていれば負数を検知できるので間違いが少なくなる
そしてintとunsignedでどっちがアンダーフローのミスを犯しやすいかというと当然unsignedだ
indexにはsignedを使うべきということがよくわかったね