在 MFC(Microsoft Foundation Classes)中,CArray 类的 GetData 方法用于获取指向数组内部数据缓冲区的指针。这个方法的原型通常如下:
TYPE* GetData();
const TYPE* GetData() const;

其中,TYPE 是数组中元素的数据类型。这个方法返回一个指向数组数据缓冲区的指针。

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

// 获取指向数组数据的指针
int* pData = myArray.GetData();

// 输出结果
TRACE(_T("Array data: %d, %d, %d\n"), pData[0], pData[1], pData[2]);

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

请注意,GetData 方法返回的指针可以用于直接访问和修改数组中的数据。然而,要小心确保不会越界访问数组,并确保在修改数据时不会破坏数组的内部结构。
// 修改数组中的数据
pData[1] = 25;

// 输出修改后的结果
TRACE(_T("Modified array data: %d, %d, %d\n"), pData[0], pData[1], pData[2]);

在这个例子中,修改了数组中索引为 1 的元素的值,并通过 TRACE 函数输出了修改后的结果。


转载请注明出处:http://www.zyzy.cn/article/detail/15463/MFC/CArray