ايي شكرا فهمت للاولى
بس للستاتيك للحين
أنا ما أعرف اشرح لكن بحاول
static = قابل للتغير
يعني مثلاً لو عندك كود :
=int test(int a)
{
int notStatic = 6;
notStatic+=a;
return notStatic;
}
int main()
{
for ( int k = 1 ; k < 3 ; k ++ )
{
cout<<test(k)<<endl;
}
return 0;
}
الآوتبت في حالة الـ Not Static
7
8
راح يتم استدعاء فنكشن test مرتين من قبل ال for loop في اول مرة راح يكون انتجر
a = 1 والمرة الثانية
a = 2 .. في أول مرة راح يتم اضافة
6 مع
1 فيكون الناتج
7 فيتم طبعه وإضافة سطر جديد .. المرة الثانية يتم اضافة
6 مع
2 فيكون الناتج
8 فيتم طبعه وإضافة سطر جديد ..
فـ كل مرة فنكشن test يضيف رقم
6 الذي تم تعريفه في بداية الفنكشن على الانتجر a فـ هو
غير قابل للتغير .
ولكن في حالة ال static
int test(int a)
{
static int Static = 6;
Static+=a;
return Static;
}
int main()
{
for ( int k = 1 ; k < 3 ; k ++ )
{
cout<<test(k)<<endl;
}
return 0;
}
الآوت بت بعد إضافة static :
7
9
راح يتم استدعاء فنكشن test مرتين من قبل ال for loop في اول مرة راح يكون انتجر
a = 1 والمرة الثانية
a = 2 ، أول مرة راح يتم إضافة
6 مع
1 فيكون الناتج
7 .. وراح يتم تغيير انتجر Static إلى 7 لأنه
قـابل للتغير ( Static ) ويتم طبع
7 وإضافة سطر جديد .. والمرة الثانية راح يتم إضافة
7 مع
2 فيكون الناتج
9 ويتم طبعه
إذا ماوصلت الفكرة قولي علشان اشرحلك بطريقة ثانية
