有时当我用 C++ 编程时,我希望undefined
每个变量都有一个值,比如 Javascript!。例如,当我为数组的越界元素返回一个值时,返回 anundefined
而不是抛出异常很有用,或者:
template <typename T, int SIZE>
class MyArray
{
T arr[SIZE];
static T badref;
public:
T &operator[](int i)
{
if (i >=0 && i < SIZE)
return arr[i];
else
throw std::string("OUT-OF-BOUNDS"); // or: return badref; !!
}
};
另一个脏(在我看来)选项是将预定义变量的引用作为坏引用变量返回。我知道我们不能将null
或类似的东西分配给参考变量。
是否有另一种格式良好的模式来返回引用,其中调用者能够找出返回的值无效?
编辑:我不是说pointer