سؤال

كنت أعتقد دائما أن صفائف طول المتغير غير مسموح بها في C ++ (الرجوع: لماذا aren 'تي موديلات مغطاة بطول متغير جزءا من معيار C ++؟ ). ولكن من السبب في ترجمة هذا الرمز والعمل؟

giveacodicetagpre.

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

المحلول

معيار C ++ الحالي لا يتطلب التحويل البرمجي VLAS.ومع ذلك، يسمح بائعي المحول البرمجي بدعم VLAS كملحق.

تم اقتراحه في الأصل أن تظهر VLAS في C ++ 14، ولكن الاقتراح لم ينجح.قد يعودون ل C ++ 17.

نصائح أخرى

C99 يسمح VLA، ولكن C ++ لا يسمح أبدا بذلك، لأن أداء VLA غير ودود للغاية.وفي C11، تصبح VLA ميزة اختيارية.

من قبل، يقال إن VLA ستظهر في C ++ 17.ولكن الآن يتم نشر C ++ 17، ولا VLA، إما.(ويبدو أن C ++ 20 لن يكون لدى VLA. المستندات الأخيرة لم تتحدث عنها على الإطلاق.)

على الرغم من أن المعيار لا يدعم ذلك، يدعم ذلك GNU Compiler كإضافة .

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