نهاية مناور C++ يتم استخدام الوظيفة لإدراج حرف سطر جديد وتدفق الدفق.
يشبه عمل معالج endl الحرف ' ' في لغة C++. يقوم بطباعة إخراج العبارة التالية في السطر التالي.
بناء الجملة
for ostream ostream& endl (ostream& os); basic template template basic_ostream& endl (basic_ostream& os);
معامل
أنت : كائن دفق الإخراج المتأثر.
قيمة الإرجاع
تقوم بإرجاع الحجة أنت .
سباقات البيانات
يعدل كائن الدفق os.
إذا حاولنا الوصول بشكل متزامن إلى نفس كائن الدفق، فقد يتسبب ذلك في حدوث سباقات للبيانات، باستثناء كائنات الدفق القياسية cerr وcout وwcout وclog وwcerr وwclog عندما تتم مزامنتها مع stdio.
سلامة الاستثناء
هدف أنت في حالة صالحة، إذا تم طرح أي استثناء.
مثال 1
دعونا نرى المثال البسيط لتوضيح استخدام endl:
#include using namespace std; int main() { cout << 'Hello' << endl << 'World!'; return 0; }
انتاج:
Hello World!
مثال 2
دعونا نرى مثالاً بسيطًا آخر:
#include using namespace std; int main() { int num; cout<>num; cout<<'hello roll number '<<num<<endl; cout<<'welcome to your new class!!'; return 0; } < pre> <p> <strong>Output:</strong> </p> <pre> Enter your roll number: 22 Hello roll number 22 Welcome to your new class!! </pre> <h2>Example 3</h2> <p>Let's see another simple example:</p> <pre> #include // std::cout, std::end using namespace std; int main () { int a=100; double b=3.14; cout << a; cout << endl; // manipulator inserted alone cout << b << endl << a*b; // manipulator in concatenated insertion endl (cout); // endl called as a regular function return 0; } </pre> <p> <strong>Output:</strong> </p> <pre> 100 3.14 314 </pre> <h2>Example 4</h2> <p>Let's see another simple example:</p> <pre> #include #include using namespace std; template void log_progress(Diff d) { cout << chrono::duration_cast(d).count() << ' ms passed' << endl; } int main() { cout.sync_with_stdio(false); // on some platforms, stdout flushes on volatile int sink = 0; auto t1 = chrono::high_resolution_clock::now(); for (int j=0; j<5; ++j) { for (int n="0;" n<10000; ++n) m="0;" m<20000; ++m) sink +="m*n;" do some work auto now="chrono::high_resolution_clock::now();" log_progress(now - t1); } return 0; < pre> <p> <strong>Output:</strong> </p> <pre> 435 ms passed 894 ms passed 1326 ms passed 1747 ms passed 2178 ms passed </pre></5;></pre></'hello>
مثال 3
دعونا نرى مثالاً بسيطًا آخر:
#include // std::cout, std::end using namespace std; int main () { int a=100; double b=3.14; cout << a; cout << endl; // manipulator inserted alone cout << b << endl << a*b; // manipulator in concatenated insertion endl (cout); // endl called as a regular function return 0; }
انتاج:
100 3.14 314
مثال 4
دعونا نرى مثالاً بسيطًا آخر:
#include #include using namespace std; template void log_progress(Diff d) { cout << chrono::duration_cast(d).count() << ' ms passed' << endl; } int main() { cout.sync_with_stdio(false); // on some platforms, stdout flushes on volatile int sink = 0; auto t1 = chrono::high_resolution_clock::now(); for (int j=0; j<5; ++j) { for (int n="0;" n<10000; ++n) m="0;" m<20000; ++m) sink +="m*n;" do some work auto now="chrono::high_resolution_clock::now();" log_progress(now - t1); } return 0; < pre> <p> <strong>Output:</strong> </p> <pre> 435 ms passed 894 ms passed 1326 ms passed 1747 ms passed 2178 ms passed </pre></5;>5;>'hello>