logo

C++ 조작자 endl

C++ 조작자 endl 함수는 새 줄 문자를 삽입하고 스트림을 플러시하는 데 사용됩니다.

endl 조작자의 작동은 C++의 ' ' 문자와 유사합니다. 다음 줄에 다음 문의 출력이 인쇄됩니다.

통사론

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

매개변수

: 출력 스트림 객체가 영향을 받았습니다.

대칭차

반환 값

인수를 반환합니다. .

데이터 경쟁

스트림 객체 os를 수정합니다.

동일한 스트림 객체에 동시 액세스를 시도하면 stdio와 동기화될 때 표준 스트림 객체인 cerr, cout, wcout, clog, wcerr 및 wclog를 제외하고 데이터 경합이 발생할 수 있습니다.

예외 안전

물체 예외가 발생하면 유효한 상태입니다.

실시예 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&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>

실시예 3

또 다른 간단한 예를 살펴보겠습니다.

 #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; } 

산출:

 100 3.14 314 

실시예 4

또 다른 간단한 예를 살펴보겠습니다.

 #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;>