C++の勉強を始めた元Java屋です。
1つ参照戻し(っていうのが一般的なのかな?)について質問させてください。

今、ArrayList相当のクラスを自作しております。そのクラスの指定されたindex番号の要素
を返す場合に、指定されたindexが要素数を超えていたり、もしくは配列がまだ
初期化されていなかった場合に未定義値(NULL値)を返したいのですが、こういった場合は
参照戻しをせずにポインタを返すべきなのでしょうか?

サンプルコードは以下のものです。

template <class T>
T& ArrayList::get(unsigned int index) {
if(this->length < index || this->list == NULL) {
return NULL;
}

return this->list[index];
}

まぁ、予想通りNULL=0なのでint値は返せませんというコンパイルエラーになってしまいます。。。
もろもろの関係で例外は使えないのですが、このようの場合はやはりポインタ型で
返すしかないのでしょうか?