0Pricing
C++ Academy · درس

المؤشرات الخام ومعامل أخذ العنوان

صرّح بالمؤشرات، وخذ العناوين باستخدام &، وافهم أنواع المؤشرات.

المؤشرات الخام ومعامل أخذ العنوان درس مجاني في C++ Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في C++ Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة C++ Academy 4 دروس في المجموع.

ما المؤشر؟

المؤشر يخزّن عنوان كائن آخر. وهو متغير تكون قيمته موقعًا في الذاكرة.

التصريح عن مؤشر

نوع المؤشر هو T*. ومن المتعارف عليه وضع * مع النوع.

int x = 10;
int* p = &x;          // p holds the address of x
std::cout << p;        // prints an address
std::cout << *p;       // prints 10

عامل أخذ العنوان

يأخذ العامل الأحادي & عنوان متغير. ويكون نوع النتيجة T*.

int x = 42;
int* p = &x;

عامل إلغاء الإشارة

يقرأ العامل الأحادي * الكائن الذي يشير إليه المؤشر أو يكتب فيه.

*p = 100;
std::cout << x;   // 100  (x changed through p)

المؤشرات الفارغة

ينبغي ضبط المؤشر الذي لا يشير إلى أي مكان على nullptr. ويؤدي إلغاء الإشارة إليه إلى سلوك غير معرّف.

int* p = nullptr;
if (p == nullptr) {
    std::cout << "no target\n";
}

المؤشرات أعداد في جوهرها

العنوان مجرد عدد صحيح، وغالبًا ما يكون بعرض 64 بت. ويخبر نوع المؤشر المترجم بكيفية تفسير البايتات الموجودة في ذلك العنوان.

المؤشر إلى const مقارنة بالمؤشر الثابت

هناك موضعان مستقلان للكلمة const:

int x = 1, y = 2;
const int* p1 = &x;     // pointer to const int (cannot modify *p1)
int* const p2 = &x;     // const pointer to int (cannot reseat)
const int* const p3 = &x; // both

حجم المؤشر

جميع المؤشرات لها الحجم نفسه على المنصة المعينة — عادةً 8 بايتات في الأنظمة ذات 64 بت. حتى char* عرضه 64 بت.

مؤشرات الدوال

يمكنك الحصول على عنوان دالة واستدعاؤها عبر المؤشر.

int square(int x) { return x * x; }

int (*fp)(int) = &square;
std::cout << fp(5);   // 25

المؤشرات إلى الأعضاء

توجد صياغة خاصة للمؤشرات إلى أعضاء الفئات. ونادرًا ما تُستخدم في الشيفرة الحديثة — إذ تستخدم معظم دوال الاستدعاء اللاحق std::function أو lambdas بدلًا منها.

أهمية المؤشرات

تشكّل المؤشرات أساس:

  • الذاكرة الديناميكية (new/delete أو المؤشرات الذكية)
  • المراجع الاختيارية (القابلة لأن تكون فارغة)
  • تعدد الأشكال (الاستدعاء الافتراضي عبر مؤشرات الفئة الأساسية)
  • التكامل مع واجهات برمجة التطبيقات في C

اختبار سريع

إلى ماذا تُقيّم العبارة &x؟

مراجعة

يحتوي المؤشر على عنوان. استخدم & للحصول على عنوان، و* لقراءة الهدف أو الكتابة إليه. تمثل nullptr القيمة الفارغة الآمنة. وتشكّل المؤشرات أساس الذاكرة الديناميكية والمراجع الاختيارية وتعدد الأشكال.

الأسئلة الشائعة

هل درس «المؤشرات الخام ومعامل أخذ العنوان» مجاني؟

نعم — نص درس «المؤشرات الخام ومعامل أخذ العنوان» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة C++ Academy، انتقل إلى CoddyKit PRO. تتضمن دورة C++ Academy 4 دروس في المجموع.

ماذا ستتعلم في «المؤشرات الخام ومعامل أخذ العنوان»؟

صرّح بالمؤشرات، وخذ العناوين باستخدام &، وافهم أنواع المؤشرات. تتمرن على C++ Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ C++ Academy؟

لا تُشترط خبرة سابقة. C++ Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «المؤشرات الخام ومعامل أخذ العنوان»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس C++ Academy هذا؟

نعم. كل درس في C++ Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. المؤشرات الخام ومعامل أخذ العنوان
  2. إلغاء إشارة المؤشر وحساب المؤشرات
  3. ‏nullptr وأمان المؤشرات الفارغة
  4. متى تستخدم المؤشرات مقابل المراجع
← العودة إلى C++ Academy