2.5 الAssignment والInitialization - نسخة قابلة للطباعة +- الفريق العربي للهندسة العكسية (https://www.at4re.net/f) +-- قسم : منتديات البرمجة - Programming Forums (https://www.at4re.net/f/forum-5.html) +--- قسم : البرمجة بلغة السى و السى بلس بلس ++C & C (https://www.at4re.net/f/forum-17.html) +--- الموضوع : 2.5 الAssignment والInitialization (/thread-3905.html) |
2.5 الAssignment والInitialization - R333T - 05-05-2024 رحلة في عالم البرمجة: إتقان أساسيات البرمجة وتطبيقاتها باستخدام لغة C++
# الفصل 0 : تمهيد
اليوم سنشرح مبدا مهم جدا الAssignment والInitialization لنشرع على بركه الله بعدة طرق، أكثر الoperator إثارة للاهتمام هي العملية الassignment، المُمثلة بعلامة يساوي. إنها تُعطي value جديدة لvariable. على سبيل المثال: int a = 3; تبدأ بالقيمة a يساوي 3. a = 4; القيمة 3 (تصبح 4). int b = a; b تبدأ بنسخة من قيمة a(أي 4). b = a+5; b تحصل على القيمة a+5 (أي 9). a = a+7; a تحصل على القيمة a+7 (أي 11). هذا الassignment الأخير يستحق الانتباه. أولاً وقبل كل شيء، يوضح بوضوح أن علامة يساوي لا يعني يساوي بالتأكيد، a لا تساوي a+7. إنه يعني الassignment، أي وضع قيمة جديدة في متغير. ما يتم لـ a=a+7 هو ما يلي: أولاً، احصل على قيمة a؛ وهي العدد الصحيح 4. ثم، أضف 7 إلى هذا الرقم 4، مما يعطي العدد الصحيح 11. أخيراً، ضع هذا الرقم 11 في a.
يمكننا أيضًا توضيح الassignment باستخدام الstrings:
string a = "alpha"; a تبدأ بالقيمة "alpha". a = "beta"; a تحصل على القيمة "beta" اي (تصبح "beta"). string b = a; b تبدأ بنسخة من قيمة a (أي "beta"). b = a +"gamma"; b تحصل على القيمة a زائد"gamma" (أي "betagamma"). a = a+"delta"; a تحصل على القيمة a+"delta" (أي "betadelta"). نستخدم "تبدأ ب" starts out with و "تحصل على" gets لتمييز عمليتين متشابهتين، لكن منطقيًا مُختلفتين: التهيئة Initialization: إعطاء متغير قيمته الأولية. التخصيص Assignment: إعطاء متغير قيمة جديدة. من الناحية المنطقية، الAssignment والInitialization مختلفان. في المبدأ، الInitialization دائمًا ما تجد المتغير فارغًا. من ناحية أخرى، الAssignment (في المبدأ) يجب أن يُفرغ القيمة القديمة من المتغير قبل وضع القيمة الجديدة. يمكنك أن تفكر في المتغير كصندوق صغير والقيمة كشيء ملموس، مثل عملة، تضعه داخله. قبل الInitialization، الصندوق فارغ، ولكن بعد الInitialization يحمل دائمًا عملة بحيث لوضع عملة جديدة، يجب عليك (أنت، أي مُشغّل العملية الAssignment) أن تقوم أولاً بإزالة القديمة ("تدمير القيمة القديمة"). الأمور ليست حرفيًا بهذا الشكل في ذاكرة الحاسوب، لكنها ليست طريقة سيئة للتفكير في ما يحدث. |