بتاريخ 26 نوفمبر 2010 12:30 م، قطب Ali Amin حاجبيه بشدة وهو يقول:
أول سؤال , اهم فرق بين السي و السي بلس بلس , هي استعمال الكلاسات , فلو كنت تستعمل الكلاسات فأنت تستعمل لغة سي بلس بلس , طب لو كنت استعمل مزيج من الأثنين , بمعنى أكتب دوال عامة من دون كلاسات و استعمل ايضا الكلاسات , فماذا يعتبر هذا ؟ هل البرمجة الصحيحة إني اكون Full oop و لا اكتب اي شىء بخارج كلاسات ؟وفي 26 نوفمبر 2010 12:30 م، أعرب Ali Amin عن رأيه بالموقف كالآتي:
مثلا لغة كالسي شارب لا تتيح لك إلا ان تكتب كل شىء بداخل كلاساتفي 26 نوفمبر 2010 12:30 م، قال Ali Amin بهدوء وتؤدة:
ID3D10Effect * effect; طبعا باستعمال المؤشرات يكون التعامل أسرع و هذا مفهوم و لكن لماذا مثلا تطلب دالة ان ادخل متغير من نوع ID3D10Effect **effect;فهل بهذا ستزيد السرعة أكثر أم ان هناك شىء لا افهمه ؟int *table;//مؤشر عادي
int **matrix;// مؤشر ببعدين
نتحصل على مايلي :
table = new int[10];
table[0]
table[1]
....
table[9]
matrix = new int* [10]
سنحصل على مصفوفة من المؤشرات.و كل مؤشر يمكن ان يشير الى مصفوفة تماما كما في المثال الاول، اذا
for( int i = 0;i<10;i++)
matrix[i] = new int[10];
------------------
في النهاية نحصل على التالي :
matrix[0][0]
matrix[0][1]
matrix[0][2]
...
matrix[9][0]
matrix[9][1]
matrix[9][1]
;
ID3D10Effect *shader;
و هذه الدالة في الدايركت اكس :HRESULT WINAPI D3DX10CreateEffectFromFileW(LPCWSTR pFileName, CONST D3D10_SHADER_MACRO *pDefines,
ID3D10Include *pInclude, LPCSTR pProfile, UINT HLSLFlags, UINT FXFlags, ID3D10Device *pDevice,
ID3D10EffectPool *pEffectPool, ID3DX10ThreadPump* pPump, ID3D10Effect **ppEffect, ID3D10Blob **ppErrors, HRESULT* pHResult);
فهذه الدالة تطلب مؤشر الى مؤشر في 20/ذو الحجة/1431 12:11 م، قال Ali Amin بهدوء وتؤدة:
فهذا هو مغذى سؤالي , لماذا قد تطلب دالة مؤشر الى مؤشر , و طبعا فيه الكثير من هذه الدوال نقابلها في الدايركت اكس هكذا , فهنا لا تعتبر مصفوفة و لها بعدين اليس كذاك ؟ فهل هذه تعتبر زيادة في السرعة ام لها فائدة أخرى ؟IDirect3DTexture9 *myTexture = NULL; // دائماً يفضل تهيئة المؤشرات بقيمة العدم
// نريد إنشاء إكساء
pD3DDevice9->CreateTexture(512,256,1,0,D3DFMT_A8R8G8B8,D3DPOOL_MANAGED,&myTexture,NULL);
// لو نجح النداء السابق، فالآن مؤشر الإكساء تم ملؤه ويمكن التعامل معه
int levelCount = myTexture->GetLevelCount();
في 28 نوفمبر 2010 06:05 ص، غمغم وسام البهنسي باستغراب قائلاً:
فهذا هو مغذى سؤالي , لماذا قد تطلب دالة مؤشر الى مؤشر , و طبعا فيه الكثير من هذه الدوال نقابلها في الدايركت اكس هكذا , فهنا لا تعتبر مصفوفة و لها بعدين اليس كذاك ؟ فهل هذه تعتبر زيادة في السرعة ام لها فائدة أخرى ؟IDirect3DTexture9 *myTexture = NULL; // دائماً يفضل تهيئة المؤشرات بقيمة العدم
// نريد إنشاء إكساء
pD3DDevice9->CreateTexture(512,256,1,0,D3DFMT_A8R8G8B8,D3DPOOL_MANAGED,&myTexture,NULL);
// لو نجح النداء السابق، فالآن مؤشر الإكساء تم ملؤه ويمكن التعامل معه
int levelCount = myTexture->GetLevelCount();