Ali Ali38 نشر 13 سبتمبر 2022 أرسل تقرير نشر 13 سبتمبر 2022 هل هناك فرق بين استعمال n\ و بين استعمال endl؟ لم ألاحظ أي فرق فكلاهما يقوم بطباعة سطر جديد فقط. 1 اقتباس
1 Kais Hasan نشر 13 سبتمبر 2022 أرسل تقرير نشر 13 سبتمبر 2022 لا فرق من الناحية الظاهرية كما تحدثت حيث أن كلاهما يقوم بطباعة سطر جديد. و لكن الفرق في طريقة العمل، لفهم ذلك علينا في البداية فهم كيفية الطباعة في ال c++. في البداية يتم تخزين ما ينبغي طباعته في مخزن مؤقت buffer و من ثم القيام بنقل البيانات إلى الجهاز المطلوب (الشاشة أو ملف على القرص الخ..) و خلال ذلك يتم القيام بعملية flush لل buffer لإفراغه. ال endl تقوم بذلك في كل مرة أي أن كل استدعاء لعملية ال endl سيقوم بنقل البيانات و القيام ب flush. بينما n\ تقوم فقط بالتخزين بال buffer بدون أي نقل و فقط عند نهاية البرنامج (أو عند القيام ب flush بشكل يدوي) فإن البيانات تنقل و تتم عملية flush لل buffer. و بالتالي ستكون n\ أسرع بكثير من endl و لا ينصح باستعمال endl لتلك الأسباب. 1 اقتباس
0 Mohamed Maazouzi نشر 3 أغسطس 2023 أرسل تقرير نشر 3 أغسطس 2023 هذا صحيح فكل كلامك لا يوجد فيه اي نقيد، الا ان n\ ليس سريعة على endL , فاذا اردنا طباعة ألف سطر فسيقوم n\ بطباعته في ان واحد وهذا بطبع سيخلق مشاكل في طباعة ، وليس من المنطقي طباعة الف سطر في ثانية واحدة . وبالتالي مخترع هذه الغة ليس غبي لكي يخترع مصطلحين لكتابة سطر جديد ، ولهذا يوجد قاعدة في هذه الحالة تسمى التوازن: والطريقة هي نستعمل n\ ثلاثين سطرا ونستعمل مرة واحدة endl وهكذا حتى ننتهي . وبهذا ستكون الطبعة مضبوطة مئة بالمئة. اقتباس
السؤال
Ali Ali38
هل هناك فرق بين استعمال n\ و بين استعمال endl؟
لم ألاحظ أي فرق فكلاهما يقوم بطباعة سطر جديد فقط.
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.