با استفاده از std::array و متد at یک آرایه ثابت از نوع std::string با اندازهٔ 5 برای نگهداری نام آیتمهای یک بازیکن در بازی بسازید و تابعی بنویسید که یک ایندکس میگیرد و نام آیتم مربوطه را برمیگرداند و در صورت خارج از محدوده بودن ایندکس پیام مناسبی را بازگرداند.
2.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 01:52 0.0
برای حل این مسئله از هدر و کلاس std::array استفاده کنید؛ برای دسترسی ایمن به عناصر بهجای عملگر [] از متد at() استفاده کنید که در صورت دسترسی نامعتبر استثناءٔ std::out_of_range پرتاب میکند — میتوانید این استثناء را با try/catch مدیریت کنید یا ابتدا ایندکس را با شرط بررسی نمایید. این رویکرد در توسعهٔ بازی برای نگهداری آیتمها و در برنامههای سطح سیستم برای دسترسی ایمن به بافرها مفید است؛ برای کامپایل به حداقل استاندارد C++11 نیاز دارید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
استفاده از std::array<std::string,5> ثابت برای نگهداری نامهای آیتمها و استفاده از متد at به جای عملگر [] برای ایمنسازی دسترسی پیشنهاد میشود. تابعی که ایندکس را میگیرد باید یا نام را بازگرداند یا در صورت نامعتبر بودن ایندکس استثنای std::out_of_range را مدیریت کند، مثلاً با try/catch یا با بررسی قبل از دسترسی. برای بازگرداندن پیغام مناسب وقتی ایندکس خارج است، میتوانید پیام مانند 'نام آیتم نامعتبر است' را برگردانید. همچنین این رویکرد با استاندارد C++11 سازگار است و در توسعه بازی یا بافرهای ایمن کاربردی است.
گزارش