اذهب إلى المحتوى

Mohssen A Mohssen

الأعضاء
  • المساهمات

    317
  • تاريخ الانضمام

  • تاريخ آخر زيارة

كل منشورات العضو Mohssen A Mohssen

  1. لدي نص بسيط كالتالي ويتحتوي على العديد من المسافات في بدايته وفي نهايته أيضًا: std::string s = " Hello world "; في لغات أخرى مثل JavaScript يمكنني أقوم بإستخدام التابع trim للقيام بهذه المهمة، ولكن كيف بعمل دالة تؤدي نفس المهمة في ++C؟
  2. لدي برنامج بسيط مكتوب بلغة ++C وأريد أن أقوم بتمرير بعض البيانات عند تشغيله من خلال سطر الأوامر: C:\> main.exe myValue1 myValue2 كيف أصل إلى هذه المدخلات من داخل البرنامج نفسه؟ هل يجب أن أستعمل مكتبة معينة؟
  3. أجد في كثير من الأحيان أكواد غريبة لتهئية initialize المتغيرات وبعضها بدون علامة = حتى، ولا أعرف الفرق بين هذه الطرق أو متى أستعمل أحدها، ما الفرق بين الأكواد التالية؟ int a; int b = 5; int c( 6 );
  4. ما هي القيمة الصحيحة التي يجب أن تعيدها الدالة main في ++C؟ وهل يجب أن تكون الدالة من نوع int أم void؟ وهل سيؤثر نوع القيمة المرجعة returned من الدالة إن كانت 0 أو 1 على أداء البرنامج أو كيفية خروجه (إنتهائه)؟
  5. أتسأل لماذا يظهر خطأ عندما أحاول إنشاء متغير من داخل جملة Switch كالتالي: #include <iostream> int main() { int val = 1; switch (val) { case 1: int x = 123; // initialization of 'x' is skipped by 'case' label break; case 2: int x = 456; break; } return 0; } تظهر لي رسالة الخطأ: initialization of 'x' is skipped by 'case' label ما هو سبب هذه المشكلة؟ وكيف يمكنني حلها؟
  6. ما الفرق بين المصرِّف gcc و ++g في تصريف ملفات ++C و ملفات C؟ ومن هو الأفضل بشكل عام عند إنشاء مشاريع بلغة ++C؟ هل ستحدث مشكلة في حالة إستخدمت المصرِّف الخطأ؟
  7. لماذا يستعمل بعض المبرمجين النوع void كمعامل في الدوال التي لا تقبل أي مدخلات، مثل هذا الكود: int func(void); أليس من الأسهل أن أقوم بكتابة تعريف الدالة كالتالي: int func(); ما الفرق بين الطريقتين؟ وهل يؤثر هذا الأمر على أداء البرنامج؟
  8. في أحد المواقع وجدت كود يقوم بعمل حلقة while لطباعة الأرقام من 10 إلى 0 ويبدو الكود بسيط: #include <iostream> int main() { int x = 11; while (x --> 0) { std::cout << x << std::endl; } return 0; } الغريب في الكود هو وجود المعامل <-- في شرط حلقة التكرار، ما هو هذا المعامل وكيف تم تغير قيمة x من 11 إلى 0؟
  9. قرأت في عدد من الأماكن أن لا يجب أن أستخدم الكود التالي: using namespace std; لكن بالرغم من ذلك، أليس الكود السابق يجعل مهمة التطوير أسهل؟ فبدلًا من إستعمال std::cout أكتب cout فقط. لماذا لا ينصح بإستخدام الكود السابق؟ هل يؤثر على سرعة تنفيذ البرنامج؟ أم يوجد سبب مختلف؟
  10. أحاول أن أقوم بعمل ملفين header وأحد هذه الملفات معتمد على الآخر: الملف الأول square.h: int getSquareSides() { return 4; // مجرد كود بسيط } الملف الثاني geometry.h يعتمد على الملف الأول ويقوم بتضمينه كالتالي: #include "square.h" ملف main.cpp: #include "square.h" #include "geometry.h" int main() { // ... return 0; } عندما أقوم بتضمين كلا الملفين يظهر لي الخطأ التالي في ملف square.h: Error C2084 function 'int getSquareSides(void)' already has a body ما سبب هذا الخطأ؟ وكيف أقوم بتضمين ملف ترويسة header أكثر من مرة بدون ظهور هذا الخطأ؟
  11. لدي رقم من نوع int وأريد تحويله إلى نص "23" ، كيف يمكنني أن أقوم بهذا الأمر في ++C؟ وهل يجب أن أستعمل stringstream للقيام بهذا الأمر أم توجد طرق أخرى؟
  12. رأيت عدة أكواد تستعمل طرق مختلفة لإستدعاء الملفات: #include <filename> وفي بعض الحالات يتم إستخدام الطريقة التالية: #include "filename" ما الفرق بين الطريقتين؟ ولماذا أجد في بعض الحالات يتم إستعمال كلا الطريقتين معًا في نفس الملف؟
  13. لدي نص كالتالي: "One Two Three Four" كيف يمكنني أن أقوم بتقسمه من خلال المسافات بين الكلمات وطباعة كل كلمة على حدى.
  14. عندما أقوم بعمل حلقة تكرار while وأتحقق من أن قيمة المتغير x أكبر من أو تساوي -1 يتم طباعة رقم كبير في نهاية الحلقة، #include <iostream> // check if x is zero or bigger bool check(int x); int main() { unsigned int x {100}; while ( check(x) ) { std::cout << x << std::endl; --x; } return 0; } bool check(int x) { return x >= -1; } نتيجة الكود السابق هي طباعة الأرقام من 100 إلى صفر ثم أجد أنه تم طباعة الرقم 4294967295: 100 99 98 97 96 95 ... 2 1 0 4294967295 ما سبب أنه يتم طباعة هذا الرقم الكبير؟ وكيف يمكن أن أتخلص منه؟
  15. قرأت أن كل برامج ++C يتم ترجمتها من خلال Compiler إلى لغة الآلة ومن ثم قرأت عن الـ linker لكن لم أفهم دورة أو ما هو بشكل محدد، هل يمكن إستخدام الـ linker مكان المترجم compiler؟ وما الفرق بينهما؟
×
×
  • أضف...