Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ทำไมต้องส่ง Pointer โดย Reference ใน C++

หากเราต้องการแก้ไขตัวชี้ (pointer) เอง ไม่ใช่วัตถุที่ตัวชี้ชี้อยู่ เราต้องส่ง pointer โดย reference

ตัวอย่างการส่ง pointer โดย reference:

ตัวอย่างโค้ด

#include <iostream>
using namespace std;

void Decrement(int*& d) {
    --d;
}

int main(void) {
    int a = 26;
    int* ptr = &a; // pointer ที่จะส่ง
    // พิมพ์ก่อน decrement
    cout << "Before: " << ptr << endl;
    Decrement(ptr);
    // พิมพ์หลัง increment
    cout << "After: " << ptr;
    return 0;
}

ผลลัพธ์

Before: 0x6ffe3c
After: 0x6ffe38