موضوع بالفعل جميل ..
ومن بعد إذن صاحب الموضوع .. أريد أن أضيف القليل ..
إعطاء المتغير قيمة إبتدائية عند التصريح به.
لتلافي حدوث مشكلة ظهور نتائج غير متوقعة, ولتسهيل عملية الـ debug
كود PHP:
//By RAAD
//Street_Coder@yahoo.com
#include <iostream>
usingnamespace std;
int main()
{
int num;
int num2 = 0;
cout << "Without Default Value: " <<num << endl;
cout << "With Default Value: " << num2 << endl;
}
عدم إستخدام الـ virtual function إلا عند الحاجة ..
لأنها تحجز كميات كبيرة في الذاكرة.
كود PHP:
//RAAD
//Street_Coder@yahoo.com
#include <iostream>
usingnamespace std;
class not_virutal
{
public:
void fun()
{
}
protected:
int number;
float x;
};
class Virtual
{
public:
virtualvoid fun2()
{
}
protected:
int number;
float x;
};
int main()
{
not_virutal n;
Virtual v;
cout << "The size of Not Vritual Function is: " << sizeof (n) << endl;
cout << "The size of Vritual Function is: " <<sizeof(v) << endl;
}
عدم الإكثار من إستخدام الـ register
مع أن الـ register يسرع عملية المعالجة إلا أن هذا سيكون على حساب شئ آخر.
عدم الإكثار من الـ #define
لأنها تعمل على إبقاء المتغيرات بداخل الذاكرة طوال فترة عمل البرنامج, مع أن ذلك يودي إلى إسراع المعالجة, ولأكن بالمقابل سيعمل على إستهلاك كميه أكبر من الذاكرة.
إستخدام المؤشرات pointers ((نقطة مهمة جداً))
وبالذات عند التعامل مع المصفوفات .. لأن ذلك يوفر علينا حجز كميات كبيرة من الذاكرة. ونستطيع بواسطتها معالجة المشكلة في الترتيب التصاعدي ((والتي ذكرها الأخ well-knownQ8 ))
كود PHP:
//By RAAD
//Street_Coder@yahoo.com
#include <iostream>
usingnamespace std;
void array(int* arr)
{
for (int i =0;i <5;i ++)
{
cout << *arr;
arr++;
}
cout << endl;
cout << "The Size OF Pointer Array: "<<sizeof(arr) << endl;
}
int main()
{
int myarray[5] = {5,6,9,2,4};
for (int i =0;i <5;i++)
{
cout << myarray[i];
}
cout << endl;
cout << "The Size Of Normal Array: "<<sizeof(myarray)<< endl;
array(myarray);
}
حذف الـ objects من الذاكرة بعد الإنتهاء منه ..
لتلافي حدوث مشكلة الـ overflow في الذاكرة
طبعا ليس بشرط استخدام النقاط السابقة جميعها، و انما محاولة استخدام ما يمكن من هذه النقاط بما يتناسب مع البرنامج.