Ц++ манипулатор ендл функција се користи за уметање новог карактера линије и испирање тока.
Рад ендл манипулатора је сличан знаку 'н' у Ц++. Штампа излаз следеће изјаве у следећем реду.
Синтакса
for ostream ostream& endl (ostream& os); basic template template basic_ostream& endl (basic_ostream& os);
Параметар
ти : Утицај на објекат излазног тока.
Повратна вредност
Враћа аргумент ти .
Дата Рацес
Модификује објекат стрима ос.
Ако покушамо да истовремено приступимо истом објекту тока, онда то може да изазове трке података, осим за стандардне објекте тока церр, цоут, вцоут, цлог, вцерр и вцлог када су синхронизовани са стдио.
Екцептион Сафети
Објекат ти је у важећем стању, ако је избачен неки изузетак.
Пример 1
Хајде да видимо једноставан пример да демонстрирамо употребу ендл-а:
#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>