C++تمرير الشيء الموجود في الذاكرة بشكل مباشر لدالة
المثال التالي يعلمك كيف تقوم بتمرير الشيء الموجود في الذاكرة بشكل مباشر لدالة.
هنا قمنا بتعريف دالة إسمها swap
, عند استدءعاها نمرر لها متغيرين فتقوم بتبديل قيمهما.
مثال
#include <iostream>
using namespace std;
// و ستقوم هي بإحضار قيمهما من الذاكرة b و a عند إستدعاءها نمرر لها عنوان متغيّرين مكان الباراميترين swap هنا قمنا بتعريف دالة إسمها
void swap(int &a, int &b)
{
// الموجودين في الذاكرة b و a هنا ستقوم الدالة بتيديل قيم المتغيرين
int temp = a;
a = b;
b = temp;
}
int main()
{
// و قيمته 5 y و قيمته 3 و متغير إسمه x هنا قمنا بتعريف متغير إسمه
int x = 3;
int y = 5;
// لها حتى تبدل قيمهما y و x و تمرير المتغيرين swap() هنا قمنا باستدعاء الدالة
swap(x, y);
// ما إن كانت قيمهما قد تبدلت أم لا y و x هنا قمنا بطباعة قيمة المتغيرين
cout << "x = " << x << endl;
cout << "y = " << y;
return 0;
}
#include <iostream>
using namespace std;
// و ستقوم هي بإحضار قيمهما من الذاكرة b و a عند إستدعاءها نمرر لها عنوان متغيّرين مكان الباراميترين swap هنا قمنا بتعريف دالة إسمها
void swap(int &a, int &b)
{
// الموجودين في الذاكرة b و a هنا ستقوم الدالة بتيديل قيم المتغيرين
int temp = a;
a = b;
b = temp;
}
int main()
{
// و قيمته 5 y و قيمته 3 و متغير إسمه x هنا قمنا بتعريف متغير إسمه
int x = 3;
int y = 5;
// لها حتى تبدل قيمهما y و x و تمرير المتغيرين swap() هنا قمنا باستدعاء الدالة
swap(x, y);
// ما إن كانت قيمهما قد تبدلت أم لا y و x هنا قمنا بطباعة قيمة المتغيرين
cout << "x = " << x << endl;
cout << "y = " << y;
return 0;
}
سنحصل على النتيجة التالية عند التشغيل.
x = 5
y = 3
x = 5
y = 3