با استفاده از std::array و متد at یک آرایه ثابت از نوع std::string با اندازهٔ 5 برای نگهداری نام آیتم‌های یک بازیکن در بازی بسازید و تابعی بنویسید که یک ایندکس می‌گیرد و نام آیتم مربوطه را برمی‌گرداند و در صورت خارج از محدوده بودن ایندکس پیام مناسبی را بازگرداند.

2.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 01:52

0.0

برای حل این مسئله از هدر و کلاس std::array استفاده کنید؛ برای دسترسی ایمن به عناصر به‌جای عملگر [] از متد at() استفاده کنید که در صورت دسترسی نامعتبر استثناءٔ std::out_of_range پرتاب می‌کند — می‌توانید این استثناء را با try/catch مدیریت کنید یا ابتدا ایندکس را با شرط بررسی نمایید. این رویکرد در توسعهٔ بازی برای نگهداری آیتم‌ها و در برنامه‌های سطح سیستم برای دسترسی ایمن به بافرها مفید است؛ برای کامپایل به حداقل استاندارد C++11 نیاز دارید.

توسط پژوهشگر در 220 روز قبل ساعت 01:52
دسته بندی ها: C Plus Plus C Plus Plus for beginner
reyhaneh در 220 روز قبل ساعت 11:45

استفاده از std::array<std::string,5> ثابت برای نگهداری نام‌های آیتم‌ها و استفاده از متد at به جای عملگر [] برای ایمن‌سازی دسترسی پیشنهاد می‌شود. تابعی که ایندکس را می‌گیرد باید یا نام را بازگرداند یا در صورت نامعتبر بودن ایندکس استثنای std::out_of_range را مدیریت کند، مثلاً با try/catch یا با بررسی قبل از دسترسی. برای بازگرداندن پیغام مناسب وقتی ایندکس خارج است، می‌توانید پیام مانند 'نام آیتم نامعتبر است' را برگردانید. همچنین این رویکرد با استاندارد C++11 سازگار است و در توسعه بازی یا بافرهای ایمن کاربردی است.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری