با استفاده از هدر و مدیریت استثناها، تابعی بنویس که یک بافر دینامیک از اعداد صحیح ایجاد کند، آن را مقداردهی کند و جمع عناصر را برگرداند، و در صورت اندازه نامعتبر یا ناموفق بودن تخصیص حافظه، استثنای مناسب پر کند.

3.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:51

0.0

در پیاده‌سازی از std::unique_ptr یا std::make_unique برای مدیریت خودکار حافظه استفاده کن تا نیازی به delete دستی نباشد. در صورت دریافت اندازه‌ای ≤ 0، std::invalid_argument را پرتاب کن و هنگام تخصیص حافظه امکان پرتاب std::bad_alloc را در نظر بگیر؛ در main با try-catch این استثناها را هندل کن و پیغام خطای مناسب نمایش بده. نکته‌ها: از هدر استفاده کن، از new/delete دستی بپرهیز و در محیط‌های embedded به محدودیت‌های استفاده از heap و استثناها توجه کن (در صورت نیاز چک‌های دستی به جای استثناها در نظر بگیر).

توسط پژوهشگر در 202 روز قبل ساعت 02:51
دسته بندی ها: C Plus Plus C Plus Plus for beginner
arman در 202 روز قبل ساعت 08:17

نکته کلیدی: برای مدیریت خودکار حافظه از std::unique_ptr و به‌ویژه std::make_unique<int[]>(n) استفاده کن تا نیازی به delete دستی نباشد. اگر اندازه نامعتبر ≤ 0 باشد، std::invalid_argument پرتاب شود و در تخصیص حافظه احتمالاً std::bad_alloc رخ می‌دهد. در محیط‌های با محدودیت heap یا در جاهایی که استثناها پشتیبانی نمی‌شوند می‌توان از بازگشت کد یا پرچم خطا استفاده کرد. در تابع main با یک بلوک try-catch این استثناها را هندل کن و پیام خطای مناسبی نمایش بده.

گزارش

1 پاسخ

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

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