C++中的指针函数是返回指针的函数。它可以返回指向任何数据类型的指针,包括基本数据类型、自定义数据类型、数组等。
指针函数的定义形式如下:
返回类型* 函数名(参数列表) { // 函数体}其中,返回类型表示函数返回的指针类型,*表示指针类型的标识符,函数名是函数的名称,参数列表是函数可以接受的参数。
指针函数的用法如下:
返回指向基本数据类型的指针:int* getNumber() { int* ptr = new int; *ptr = 10; return ptr;}int main() { int* numPtr = getNumber(); cout << *numPtr << endl; // 输出:10 delete numPtr; return 0;}返回指向自定义数据类型的指针:struct Person { string name; int age;};Person* createPerson(string name, int age) { Person* ptr = new Person; ptr->name = name; ptr->age = age; return ptr;}int main() { Person* personPtr = createPerson("Alice", 20); cout << personPtr->name << endl; // 输出:Alice cout << personPtr->age << endl; // 输出:20 delete personPtr; return 0;}返回指向数组的指针:int* createArray(int size) { int* arr = new int[size]; for (int i = 0; i < size; i++) { arr[i] = i + 1; } return arr;}int main() { int* arrPtr = createArray(5); for (int i = 0; i < 5; i++) { cout << arrPtr[i] << " "; // 输出:1 2 3 4 5 } delete[] arrPtr; return 0;}需要注意的是,在使用完指针函数返回的指针后,需要手动释放内存,以防止内存泄漏。可以使用delete释放单个指针指向的内存,或者使用delete[]释放指向数组的指针指向的内存。

