سؤال

أنا في حيرة من أمري بشأن الإعلانات المتغيرة مع المراجع.قرأت بعض الصفحات وهذا ما جعلني في حيرة أكبر ففضلت أن أسأل هنا.

لقد سُئلت 4 أسئلة في مقابلة باستخدام لغة C++؛أي واحد منهم هو الخطأ ولماذا؟

(1) int & n;
(2) const int & n=15;
(3) float x; const int & n =x;

هل يمكن لأحد أن يشرح أي خطأ ولماذا؟

هل كانت مفيدة؟

المحلول

tl;dr يجب تهيئة المراجع عند الإعلان (إما بشكل مباشر أو في تهيئة الفصل).

int& n;

وهذا يترك المرجع n غير مهيأ.يجب تهيئة المراجع عند الإعلان.

const int& n = 15;

لا يوجد شيء خاطئ هنا.الإشارة إلى أ const int تتم التهيئة ل 15.

float x; const int& n = x;

ال float على ما يرام، ولكن فكرة سيئة أن تترك دون تهيئة.المرجع n يتم التهيئة ل x (تنطبق التحويلات العائمة/التكاملية)، وهي ليست فكرة رائعة أيضًا.

نصائح أخرى

يجب تهيئة المرجع دائما.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top