Nu obții 100 de puncte sau ai nelămuriri în privința problemelor? Scrie-mi pe Instagram.
Ai găsit o greșeală, vrei să raportezi un utilizator sau vrei să comunici altceva? Folosește formularul de contact.
Vrei să ne transmiți o părere despre platformă? Folosește formularul de feedback.
Folosește următoarele shortcuturi pentru a naviga mai ușor pe platformă.
Meniu shortcuturi | ? |
Căutare probleme sau utilizatori | / |
Navigare printre rezultatele căutării | ↑, ↓ |
Meniu de contact și feedback | CTRL + Shift + F |
Ieșire din meniuri | Esc |
Setări editor | CTRL + Shift + S |
Schimbare stil editor | CTRL + Shift + E |
Șabloane de cod | CTRL + Shift + 1/2/3 |
Golire editor | CTRL + Shift + 4 |
Când creăm un program nou C++ în Code::Blocks, probabil ați observat că în interiorul funcției int main()
, vedem următoarea linie:
cout << "Hello, World!" << endl;
Linia aceasta afișează pe ecran mesajul Hello, World!
, urmat de endl
.
endl
?Structura endl
vine de la end line — practic, în consolă, mută textul ce urmează pe linia următoare.
endl
Să analizăm două programe:
#include <iostream>
using namespace std;
int main()
{
cout << "Mesaj1" << endl;
cout << "Mesaj2";
}
Acest program afișează pe ecran:
Mesaj1
Mesaj2
Dacă am scoate endl
din prima instrucțiune de afișare, codul ar fi următorul:
#include <iostream>
using namespace std;
int main()
{
cout << "Mesaj1";
cout << "Mesaj2";
}
și ar afișa pe ecran:
Mesaj1Mesaj2
endl
Structura endl
nu este foarte eficientă din punct de vedere al timpului, deoarece execută și alte lucruri pe fundal, pe lângă afișarea unei linii noi. De asta, un program care afișează informații pe mai multe linii poate deveni foarte încet doar pentru că s-a folosit structura endl
.
Ca și o alternativă, putem să folosim '\n'
. Acesta este un caracter newline, care, din punct de vedere vizual, are același efect ca și endl
(afișează pe ecran o linie nouă), dar este mai eficient. Codul C++ de mai devreme devine astfel:
#include <iostream>
using namespace std;
int main()
{
cout << "Mesaj1" << '\n';
cout << "Mesaj2";
}