هي صفائف طول المتغير هناك في C ++؟
-
21-12-2019 - |
سؤال
كنت أعتقد دائما أن صفائف طول المتغير غير مسموح بها في 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 كإضافة .
لا تنتمي إلى StackOverflow