ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

std::size

cpprefjp.github.io
配列の個数を取得するには、配列全体サイズを配列1個サイズで割るマクロをよく使っている。

#define COUNTOF(array) (sizeof(array) / sizeof(array[0]))

C++17からは std::size で同じことが出来る。毎回マクロを書いていたのでもっと早くから知りたかった。
cpprefjp.github.io
さらに、std::ssize というのもあり、こちらはループの判定条件につかうときに、よく int と size_t で型が違うというワーニングが出るが、それを回避できるという。
ただ、こちらはC++20からで、いま自分が使っている環境では対応していなかった。残念。