إعلان متغير مع const والمرجع
سؤال
أنا في حيرة من أمري بشأن الإعلانات المتغيرة مع المراجع.قرأت بعض الصفحات وهذا ما جعلني في حيرة أكبر ففضلت أن أسأل هنا.
لقد سُئلت 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
(تنطبق التحويلات العائمة/التكاملية)، وهي ليست فكرة رائعة أيضًا.
نصائح أخرى
يجب تهيئة المرجع دائما.
لا تنتمي إلى StackOverflow