
نوشته شده توسط
vahid-p
خط 6 که ++ بعد از متغیر a اومده، ابتدا assignment انجام میشه (b=a) و بعد یک واحد به a اضافه میشه.
در خط 7 که ++ قبل از a اومده، ابتدا یک واحد به a اضافه میشه و بعد assignment انجام میشه (c=a).
منطق خاصی هم نداره، این تعریفشه که طراحان کامپایلر این مد نظرشون بوده و از اونجایی که syntax جاوا شبیه C هست (از اون گرفتن) و چنین عملگری در C هم وجود داره، شاید برای همخوانی بیشتر اینکار رو انجام دادن. به عنوان اندیس آرایه و... هم میشه از این عبارت استفاده کنید مثلا x[i++] و همه جا میشه استفاده کرد.
توصیه میکنم از این روش کمتر استفاده بشه و ++ استفاده کنید ولی همزمان با اون هیچ کار دیگه ای انجام ندید.
یعنی مثلا
i++;
x[i];
اینجوری خوانایی و احتمال اشتباه برنامه کمتر میشه. نیازی نیست برنامه خیلی فشرده نوشته بشه (هر چند دونستن این موضوع برای خواندن کد سایرین لازمه، ولی خودت کمتر استفاده کن)
جدا از این موضوع، حتی توصیه میشه خیلی از مواقع به جای اینکه انواع توابع رو به عنوان پارامتر سایر توابع استفاده کنید و کلا از متغیر جدید کمتر استفاده میکنیم، روش خوبی نیست و استفاده متغیر بیشتر برای خوانایی برنامه مفیده و عملا تعریف چند تا متغیر یا اضافه شدن چند خط کد سرعت برنامه رو کند نمیکنه.