logo

C++ Manipulator endl

C++ manipulator endl funcția este utilizată pentru a insera un nou caracter de linie și pentru a elimina fluxul.

Funcționarea manipulatorului endl este similară cu caracterul „ ” din C++. Tipărește rezultatul următoarei instrucțiuni în rândul următor.

cum se imprimă java

Sintaxă

 for ostream ostream& endl (ostream& os); basic template template basic_ostream& endl (basic_ostream& os); 

Parametru

tu : obiectul fluxului de ieșire afectat.

Valoare returnată

Returnează argument tu .

Curse de date

Modifică sistemul de operare al obiectului flux.

Dacă încercăm să accesăm concomitent la același obiect de flux, atunci poate provoca curse de date, cu excepția obiectelor de flux standard cerr, cout, wcout, clog, wcerr și wclog atunci când acestea sunt sincronizate cu stdio.

Siguranță excepție

Obiect tu este într-o stare validă, dacă se aruncă vreo excepție.

Exemplul 1

Să vedem exemplul simplu pentru a demonstra utilizarea endl:

 #include using namespace std; int main() { cout << 'Hello' << endl << 'World!'; return 0; } 

Ieșire:

 Hello World! 

Exemplul 2

Să vedem un alt exemplu simplu:

 #include using namespace std; int main() { int num; cout&lt;&gt;num; cout&lt;<'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&apos;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 &lt;&lt; a; cout &lt;&lt; endl; // manipulator inserted alone cout &lt;&lt; b &lt;&lt; endl &lt;&lt; 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&apos;s see another simple example:</p> <pre> #include #include using namespace std; template void log_progress(Diff d) { cout &lt;&lt; chrono::duration_cast(d).count() &lt;&lt; &apos; ms passed&apos; &lt;&lt; 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>

Exemplul 3

Să vedem un alt exemplu simplu:

 #include // std::cout, std::end using namespace std; int main () { int a=100; double b=3.14; cout &lt;&lt; a; cout &lt;&lt; endl; // manipulator inserted alone cout &lt;&lt; b &lt;&lt; endl &lt;&lt; a*b; // manipulator in concatenated insertion endl (cout); // endl called as a regular function return 0; } 

Ieșire:

constanta java
 100 3.14 314 

Exemplul 4

Să vedem un alt exemplu simplu:

 #include #include using namespace std; template void log_progress(Diff d) { cout &lt;&lt; chrono::duration_cast(d).count() &lt;&lt; &apos; ms passed&apos; &lt;&lt; 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;>