ugly code یا کدهای زشت با رفرنس ها؟؟؟؟؟؟ - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

ugly code یا کدهای زشت با رفرنس ها؟؟؟؟؟؟

+1 امتیاز
int &func()
{
   static int val;
   return val;
}

int main()
{
   func() = 20;
   func() += func();
}

این کد چ کار انجام میده؟؟؟؟ چرا فقط باید یه فضای static براش بگیرم؟؟؟

سوال شده شهریور 28, 1393  بوسیله ی amirbakhtiari (امتیاز 10)   1 2

1 پاسخ

+1 امتیاز

متغیر static متغیری هست که طول عمرش از محل مقدار دهی شروع میشه تا پایان برنامه .

داخل تابع دارید متغیر رو با ارجاع بر می گردونید پس باید متغیر بصورت static گرفته بشه تا بعد از صدا زده شدن تابع متغیر از بین نره .

کاری هم که انجام میده معادله این هست :

int val=20;
val+=val;

 

پاسخ داده شده شهریور 29, 1393 بوسیله ی BlueBlade (امتیاز 15,315)   15 18 89
...