کلمه کلیدی noreturn برای مشخص کردن این نکته که تابع مقداری به صدا زننده باز نمیگرداند استفاده میشود. دقت کنید باز نگرداندن مقدار با برگرداندن مقدار void تفاوت دارد. این کلمه کلیدی برای توابعی که هیچ مقداری به صدا زننده فراخوانی نمیکنند استفاده میشود. ( مانند توابعی که برنامه را میبندند یا توابعی که حاوی حلقه بینهایت هستند یا توابعی که throw exceptions میکنند.
استفاده از این کلمه کلیدی به کامپایلر کمک میکند تا بهینهسازی هایی را انجام دهد و همینطور هشدارهای بهتری تولید کند.برای مثال اگر تابع f مقداری بازگشت ندهد و از کلمه کلیدی noreturn استفاده کنید کامپایلر میتواند در کد
f();
g();
به شما در مورد اجرا نشدن تابع g هشدار دهد و همینطور کامپایلر متوجه میشود که نباید برای فراموش کردن استفاده از کلمه کلیدی return برای بازگشت دادن مقدار هشداری بدهد.
مثال استفاده :