چرا در c++ ازreturn0 استفاده میکنیم؟ومهمتر اینکه به جای 0 چرا1یا 2 یا هر عدد دیگری نمیگذاریم؟
اگر تابع main بصورت void تعریف بشه نیازی به return نیست، اما void main جزو موارد غیر اسناندارد زبان ++C است.
در اغلب کامپایلر ها تابع ()main با تعریف های مختلفی ارائه میشه، و بصورت ()void main هم قابل استفاده است
اما void main استاندارد نیست، یعنی بعضی کامپایلر ها از شما انتظار دارند که بصورت int main تعریف اش کنید
و یک مقداری رو از تابع main برگردانید. به همین جهت در شیوه اصولی برنامه نویسی باید از int main و یک مقداری
که return می کنید استفاده بشه.
مقدار عددی ای که بر می گردانید برای کامپایلر ++C یا سیستم عاملی که اجرایش می کند مهم نیست اما
اصولا شما کدی را از برنامه بر می گردانید که شماره خطایی است که در حین اجرا برنامه اتفاق افتاده یعنی Error Level
این مقدار کاربرد مهمی داره، به شرطی که کسی بخواهد از این مقدار استفاده کنه.
اگر شما عبارت ERRORLEVEL رو در اینترنت یا فایل های bat داخل سیستم عامل جستجو کنید، به فایل های bat
زیادی می رسید که از مقدار عددی ای که برنامه بر می گردونه تشخیص می دهند که عملیات مورد نظر
درست انجام شده یا خیر. مقدار 0 برای حالتی بکار میره که خطایی رخ نداده. مثلا دستور FIND در سیستم عامل
اگر موردی رو جستجو کنه و مورد پیدا نشه مقدار 1 رو بر می گردونه.
کد:
IF ERRORLEVEL 0 GOTO label_find
IF ERRORLEVEL 1 GOTO label_not_found
مجبور نیستید که از مقدار 0 استفاده کنید، اما شیوه رایج اینطوری است که اگر برنامه به سلامت و بدون مشکل
خاتمه پیدا می کنه این مساله را با عدد 0 اعلام کنید.