在程序中使用CArray时, 是否应该在每次m_aryXX.GetAt(int nCount)时对int nCount进行越界的判断呢?

解决方案 »

  1.   

    我记得是必须这样,为了效率,CArray没有判断越界的问题,好像只是在debug版下有个断言。
    楼主可以试试,如果我没记错的话,GetAt一个不存在的序号,程序将崩溃!从这个函数的申明就可以看出来,这个函数是不会返回失败的,失败就是程序崩溃,这是MSDN中抄的:
    Passing a negative value or a value greater than the value returned by GetUpperBound will result in a failed assertion.