الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Static and constants

مغلق
بدأه Pixar في 24 سبتمبر 2005 · 2 رد · 568 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

ما هي الفائدة من جعل دالة static غير تعاملها مع انواع static

ما الفائدة من جعل كائن معين static لاني جربت اكتب اكواد ولكن لم اجد فرق بين

MyClass a;
static MyClass b;

كيف يمكن تنفيذ هذا الكود لاني حاولت مرارا ولكن الخطا C2440 في الدوت نت يظهر كل مرة

string s[]={"hello","code"}
string* const ps[5]={0};

// any way to store s in ps
const string* S="hello";
const string *ss=&SomeString;
//any way to store S or ss in the ps
#2

السلام عليكم

اقتباس
ما هي الفائدة من جعل دالة static غير تعاملها مع انواع static

يمكنك ان تنادي عليها دون الحاجة لتكوين object لها لانها لا تحتوي على مؤشر this

MyClass::MyClassMemberfunction();

اقتباس
ما الفائدة من جعل كائن معين static

يمكن ان ترى احد فوائده اذا وضعته في دالة فحيث انه سيكون له file scope فلا يمكن ان ينادى على ال destructor له الا عند نهايه ال scope في الملف الموجود به

void SomeFunction()
{
static MyClass obj();
}
int main()
{
SomeFunction();
return 0;
}

لن ينادى على ال destructor الا عندما تنتهي ال main هنا واذا لم يعرف على انه static فسينادى على ال destructor بمجرد انتهاء ال scope الخاص به في الدالة

اقتباس
string* const ps[5]={0};

خطأ لانك قمت بعمل initialization ب NULL وبذلك لا يمكنك ان تتعامل مع هذه المصفوفة

اقتباس
const string* S="hello";

خطأ لانك يجب ان تضع عنوان في هذا المؤشر

اذا اردت ان تخصص قيم في المتغير الذي ذكرته يمكنك استخدام الاتي

string SomeString1="arabteam";// يمكنك ان تدخل القيم اذا اردت
string S2="2000";
string* const ps[2]={&SomeString1,&S2};
// يمكنك تعديل اي قيمة في المصفوفة الجديدة كما في الاتي
ps[0]+=" website";

نفس الشيء بالنسبة ل pointer to constant string ضع فيه عناوين ل strings اذا كانت مصفوفة من الثوابت ثم قم بتخصيصه للمصفوفة التي تريد

هذا ما اعرفه وان شاء الله يساعدك

تم تعديل هذه المشاركة بواسطة ahmed_3d في 24 سبتمبر 2005 في 21:22

"خيركم من تعلم العلم وعلمه". ..........استغفر الله. ........ اللهم صلي وسلم على سيدنا محمد

احمد عبد الحميد ابوغرارة

CodeGuru CodeProject CGTalk

#3

بارك الله فيك

هذا الموضوع مغلق.

مواضيع مشابهة