เวลาที่ส่งผ่านparameter แบบอ้างอิง function ที่ถูกเรียกจะใช้addressของตัวแปรนั้น โดยที่ไม่ต้องสร้างตัวแปรขึ้นมาใหม่ในหน่วยความจำอีกหนึ่งตำแหน่ง แต่สำหรับเรื่องการแก้ไขต่าตัวแปร functionจะสามารถแก้ไขค่าตัวแปรไปได้หรือไม่ ขึ้นอยู่กับการส่งparameterนั้นทำอย่างไร ก็คือ ถ้ามีการใส่ keyword const เอาไว้ function ก็จะไม่สามารถแก้ไขค่าตัวแปรได้ แต่ถ้าไม่ใส่ const functionนั้นก็จะสามารถแก้ไขค่าตัวแปรได้ มาลองดูตัวอย่างโปรแกรมด้านล่างนะคับ
#include <iostream>
using namespace std;
void MyFunction(int&);
void main(){
int iMyVariable = 5;
MyFunction(iMyVariable);
cout << "iMyVariable = " << iMyVariable << endl;
}
void MyFunction(int &i){
i+=3;
}
ไม่มีความคิดเห็น:
แสดงความคิดเห็น