الدوال
int add(int a, int b) {
return a + b;
}
int main() {
cout << add(4, 6); // 10
}
التمرير بالقيمة مقابل المرجع
// بالقيمة: نسخة، لا يؤثّر على الأصل
void byValue(int x) { x = 100; }
// بالمرجع: يعدّل الأصل (لاحظ &)
void byRef(int &x) { x = 100; }
int main() {
int n = 5;
byValue(n); cout << n; // 5
byRef(n); cout << n; // 100
}
المؤشّرات (Pointers)
المؤشّر متغيّر يخزّن عنوان متغيّر آخر في الذاكرة — مفهوم مميّز في C++:
int age = 25;
int *ptr = &age; // ptr يخزّن عنوان age
cout << ptr; // العنوان
cout << *ptr; // 25 (القيمة في ذلك العنوان)
&age= عنوان المتغيّر.*ptr= القيمة المخزّنة في العنوان (dereference).
لماذا المؤشّرات؟
- التحكّم المباشر في الذاكرة.
- تمرير البيانات الكبيرة بكفاءة (بلا نسخ).
- أساس الهياكل الديناميكية.
💡 المؤشّرات قوية لكنها تحتاج حذرًا — سوء استخدامها سبب شائع للأخطاء.
🎯 التالي: البرمجة كائنية التوجّه في C++.