std::endl
Da cppreference.com.
![]() |
Questa pagina è stata tradotta in modo automatico dalla versione in ineglese della wiki usando Google Translate.
La traduzione potrebbe contenere errori e termini strani. Muovi il puntatore sopra al testo per vedere la versione originale. Puoi aiutarci a correggere gli gli errori. Per ulteriori istruzioni clicca qui. |
Elemento definito nell'header <ostream>
|
||
template< class CharT, class Traits > std::basic_ostream<charT,traits>& endl( std::basic_ostream<CharT, Traits>& os ); |
||
Inserisce un carattere in linea di fondo campo
os
sequenza di emissione e vampate come se chiamando os.put(os.widen('\n')) seguita da os.flush(). Original:
Inserts a endline character into the output sequence
os
and flushes it as if by calling os.put(os.widen('\n')) followed by os.flush(). The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Si tratta di un solo output manipolatore di I / O, può essere chiamato con espressioni quali out << std::endl per qualsiasi
out
di std::basic_ostream tipo.Original:
This is an output-only I/O manipulator, it may be called with an expression such as out << std::endl for any
out
of type std::basic_ostream.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Indice |
[modifica] Note
Questo manipolatore può essere usato per produrre una linea di uscita immediatamente, ad esempio durante la visualizzazione di uscita da un processo di lunga durata, la registrazione delle attività di più thread o la registrazione di attività di un programma che potrebbe bloccarsi in modo imprevisto. Un filo esplicito std::cout è necessario anche prima di una chiamata a std::system, se il processo generato esegue qualsiasi schermata I / O (un esempio comune è std::system("pause") su Windows). Nella maggior parte degli altri soliti interattivi I / O scenari, std::endl è ridondante se utilizzato con std::cout perch�� ogni input da std::cin, uscita std::cerr, o cessazione programma forza una chiamata a std::cout.flush(). L'uso di std::endl al posto di '\n', incoraggiato da alcune fonti, può significativamente degradare le prestazioni di uscita.
Original:
This manipulator may be used to produce a line of output immediately, e.g. when displaying output from a long-running process, logging activity of multiple threads or logging activity of a program that may crash unexpectedly. An explicit flush of std::cout is also necessary before a call to std::system, if the spawned process performs any screen I/O (a common example is std::system("pause") on Windows). In most other usual interactive I/O scenarios, std::endl is redundant when used with std::cout because any input from std::cin, output to std::cerr, or program termination forces a call to std::cout.flush(). Use of std::endl in place of '\n', encouraged by some sources, may significantly degrade output performance.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
In molte implementazioni, lo standard output è line-buffered, e '\n' scrittura provoca un colore in ogni caso, a meno che non std::cout.sync_with_stdio(false) è stato giustiziato. In tali situazioni,
endl
inutile degrada solo le prestazioni del file di output non standard output.Original:
In many implementations, standard output is line-buffered, and writing '\n' causes a flush anyway, unless std::cout.sync_with_stdio(false) was executed. In those situations, unnecessary
endl
only degrades the performance of file output, not standard output.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Gli esempi di codice in questo follow Bjarne Stroustrup wiki a Flushing lo standard output solo se necessario.
Original:
The code samples on this wiki follow Bjarne Stroustrup in flushing the standard output only where necessary.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Quando una linea incompleta di uscita deve essere lavata, il manipolatore std::flush può essere utilizzato.
Original:
When an incomplete line of output needs to be flushed, the std::flush manipulator may be used.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Quando tutti i caratteri di uscita deve essere lavata, il manipolatore std::unitbuf può essere utilizzato.
Original:
When every character of output needs to be flushed, the std::unitbuf manipulator may be used.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[modifica] Parametri
os | - | riferimento al flusso di output
Original: reference to output stream The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
[modifica] Valore di ritorno
os
(riferimento al flusso dopo la manipolazione)Original:
os
(reference to the stream after manipulation)The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[modifica] Esempio
Con \ n invece di endl, il risultato sarebbe lo stesso, ma potrebbero non essere visualizzate in tempo reale .
Original:
With \n instead of endl, the output would be the same, but may not appear in real time.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
#include <iostream> #include <chrono> template<typename Diff> void log_progress(Diff d) { std::cout << std::chrono::duration_cast<std::chrono::milliseconds>(d).count() << " ms passed" << std::endl; } int main() { std::cout.sync_with_stdio(false); // on some platforms, stdout flushes on \n volatile int sink=0; auto t1 = std::chrono::high_resolution_clock::now(); for(int j=0; j<5; ++j) { for(int n=0; n<10000; ++n) for(int m=0; m<20000; ++m) sink += m*n; // do some work auto now = std::chrono::high_resolution_clock::now(); log_progress(now - t1); } }
Output:
487 ms passed 974 ms passed 1470 ms passed 1965 ms passed 2455 ms passed
[modifica] Vedi anche
controlla se l'uscita viene lavata dopo ogni operazione Original: controls whether output is flushed after each operation The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (funzione) | |
svuota il flusso di output Original: flushes the output stream The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (funzione di modello) | |
sincronizza con il dispositivo di archiviazione sottostante Original: synchronizes with the underlying storage device The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (metodo pubblico) |