آزمون برنامه نویس: انواع ارزش غیرقابل قبول

عکس پروفایل نویسنده

@pvs-studioPVS-Studio

جستجوی اشکالات در C ، C ++ ، C # ، Java در ویندوز ، Linux ، macOS. https://www.viva64.com/fa/pvs-studio/

اخیراً انواع مرجع ناپایدار مرسوم ، مد روز شده اند. در همین حال ، انواع خوب غیر قابل انعطاف قدیمی هنوز در اینجا هستند و به طور فعال مورد استفاده قرار می گیرند. تفاوت های ظریف کار با آنها را چقدر خوب به خاطر می آورید؟ بیایید با خواندن این مقاله حافظه خود را بیدار کنیم یا دانش خود را بسنجیم. نمونه هایی از کد C # و IL ، ارجاع به مشخصات CLI و کد CoreCLR ارائه شده است. بیایید با یک مورد جالب شروع کنیم.

توجه داشته باشید. اگر به انواع مرجع پوچ علاقه مند هستید ، می توانید چندین مقاله توسط همکاران من بخوانید: “انواع مرجع ناخوشایند در C # 8.0 و تجزیه و تحلیل استاتیک” ، “Nullable Reference از شما محافظت نمی کند ، و در اینجا اثبات آن است”.

نگاهی به نمونه کد زیر بیندازید و پاسخ دهید چه چیزی به کنسول منتقل می شود. و به همین مهم ، چرا. فقط بیایید فوراً توافق کنیم که همانطور که پاسخ خواهید داد: بدون نکات کامپایلر ، مستندات ، خواندن ادبیات یا موارد مشابه دیگر. 🙂

خوب ، بیایید کمی فکر کنیم. بیایید چند خط فکری اصلی را در نظر بگیریم که فکر می کنم ممکن است بوجود بیایند.

1. فرض کنید که int؟ یک نوع مرجع است.

بیایید استدلال کنیم ، که int؟ یک نوع مرجع است. در این مورد، خالی در ذخیره خواهد شد آ، و همچنین در ذخیره خواهد شد aObj پس از تعیین تکلیف اشاره به …

سئو PBN | خبر های جدید سئو و هک و سرور