基になる C 配列にアクセスするときにインデックスを制御するセーフ配列クラスを実装する必要があります。
template <typename T, int N> class SafeArray
{
public:
T &operator[](int index)
{
assert(0 <= index && index < N);
return m_data[index];
}
private:
T m_data[N];
};
そして、代わりにbool a[3];、今私は書きSafeArray<bool, 3> a;ます。
のような配列の初期化をサポートするにはどうすればよいbool b[3] = {false};ですか? が構築されb.m_data[] = {false, false, false}た後に取得するにはどうすればよいですか?SafeArray<bool, 3> b;
にコンストラクターを追加する必要があると思いSafeArrayますが、そのコンストラクターの本体は何でしょうか? テンプレート パラメーターTは何でもかまいませんが、必ずしも ではありませんbool。私はpre-C++11を使用しています。