中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

c++指針函數的定義及用法

c++
小億
83
2023-12-28 07:18:21
欄目: 編程語言

C++中的指針函數是返回指針的函數。它可以返回指向任何數據類型的指針,包括基本數據類型、自定義數據類型、數組等。

指針函數的定義形式如下:

返回類型* 函數名(參數列表) {
    // 函數體
}

其中,返回類型表示函數返回的指針類型,*表示指針類型的標識符,函數名是函數的名稱,參數列表是函數可以接受的參數。

指針函數的用法如下:

  1. 返回指向基本數據類型的指針:
int* getNumber() {
    int* ptr = new int;
    *ptr = 10;
    return ptr;
}

int main() {
    int* numPtr = getNumber();
    cout << *numPtr << endl;  // 輸出:10
    delete numPtr;
    return 0;
}
  1. 返回指向自定義數據類型的指針:
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;
}
  1. 返回指向數組的指針:
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[]釋放指向數組的指針指向的內存。

0
桂林市| 隆尧县| 延川县| 蒙城县| 治县。| 大石桥市| 蚌埠市| 杨浦区| 英吉沙县| 哈密市| 若尔盖县| 桂平市| 苏尼特左旗| 丰镇市| 廉江市| 普陀区| 安乡县| 略阳县| 黑河市| 马鞍山市| 资阳市| 黄平县| 毕节市| 吴桥县| 昌邑市| 临夏县| 安新县| 运城市| 长丰县| 平谷区| 吐鲁番市| 辽阳市| 沙田区| 县级市| 连州市| 镇江市| 彩票| 武隆县| 永嘉县| 固原市| 临沭县|