یک برنامهٔ C++ بنویسید که با استفاده از std::unordered_map یک سیستم سادهٔ موجودی برای بازی بسازد که نام آیتمها را به تعدادشان نگه دارد و هنگام کاهش شمارش به صفر از متد erase برای حذف کلید استفاده کند.
2.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:18 0.0
در فایل C++ از هدر و استفاده کنید، یک std::unordered_map برای نگهداری نام آیتم و تعداد بسازید و عملگرهای افزودن، حذف (کاهش تعداد) و نمایش را پیادهسازی کنید؛ وقتی شمارش آیتم به صفر رسید از متد erase برای حذف کلید استفاده کنید. نکات: برای حذف در حین پیمایش از iterator-based erase یا جمعآوری کلیدها برای حذف بعدی استفاده کنید، از ویژگیهای C++11 مثل حلقهٔ range-based و emplace برای درج بهره ببرید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
حین حذفِ آیتمها در حالِ پیمایش، بهتر است از erase با بازگشت iterator استفاده کنید یا از جمعآوری کلیدها در لیستِ جداگانه و حذفِ بعداً بهره ببرید. استفاده از emplace برای درجها و reserve برای پیشفضاسازی اندازهٔ تقریبی نقشه میتواند کارایی را بهبود دهد. برای پشتیبانی از استانداردهای C++11 به بالا، این روشها با حلقهٔ range-based و اینترفیسهای جدید سازگار هستند. این طراحی ساده، با نگهداشتن نام آیتم به عنوان کلید و مقدار تعداد به عنوان مقدار، بهخوبی مدیریت موجودی را نشان میدهد.
گزارش