C++マニピュレータendl 関数は、改行文字を挿入し、ストリームをフラッシュするために使用されます。
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>