在 MFC(Microsoft Foundation Classes)中,CArray 类的 GetUpperBound 方法用于获取数组的最高有效索引,即数组中最后一个元素的索引。这个方法的原型通常如下:
int GetUpperBound() const;

GetUpperBound 方法返回数组的最高有效索引。如果数组是空的,则返回 -1。

以下是一个示例,演示如何使用 CArray 的 GetUpperBound 方法:
CArray<int, int> myArray;
myArray.Add(10);
myArray.Add(20);
myArray.Add(30);

int upperBound = myArray.GetUpperBound();  // 获取数组的最高有效索引

// 输出结果
TRACE(_T("Upper bound of the array: %d\n"), upperBound);

在这个例子中,首先创建了一个整数数组 myArray 并向其中添加了一些元素。然后,使用 GetUpperBound 方法获取了数组的最高有效索引,并将结果存储在变量 upperBound 中。最后,通过调用 TRACE 函数输出结果。

需要注意的是,如果数组是空的,GetUpperBound 方法将返回 -1,因为没有有效的索引。在访问数组之前,最好先检查数组是否为空。
if (myArray.GetCount() > 0)
{
    int upperBound = myArray.GetUpperBound();
    // 对非空数组进行操作
}
else
{
    // 处理空数组的情况
}

在这个例子中,首先检查数组是否非空,然后再使用 GetUpperBound 方法获取数组的最高有效索引。


转载请注明出处:http://www.pingtaimeng.com/article/detail/15465/MFC/CArray