C++ manipülatör endl işlevi yeni bir satır karakteri eklemek ve akışı temizlemek için kullanılır.
Endl manipülatörünün çalışması C++'daki ' ' karakterine benzer. Aşağıdaki ifadenin çıktısını bir sonraki satıra yazdırır.
Sözdizimi
for ostream ostream& endl (ostream& os); basic template template basic_ostream& endl (basic_ostream& os);
Parametre
Sen : Çıkış akışı nesnesi etkilendi.
Geri dönüş değeri
Argümanı döndürür Sen .
Veri Yarışları
Akış nesnesinin işletim sistemini değiştirir.
Aynı akış nesnesine eşzamanlı erişim sağlamaya çalışırsak, standart akış nesneleri olan cerr, cout, wcout, clog, wcerr ve wclog stdio ile senkronize edildiğinde veri yarışlarına neden olabilir.
İstisna Güvenliği
Nesne Sen herhangi bir istisna atılırsa geçerli bir durumdadır.
örnek 1
Endl kullanımını göstermek için basit bir örnek görelim:
#include using namespace std; int main() { cout << 'Hello' << endl << 'World!'; return 0; }
Çıktı:
Hello World!
Örnek 2
Başka bir basit örnek görelim:
#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>
Örnek 3
Başka bir basit örnek görelim:
#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; }
Çıktı:
100 3.14 314
Örnek 4
Başka bir basit örnek görelim:
#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>