In C++, quando sto usando std::cout
così:È std :: cout pienamente operativo nello stack?
std::cout << "myString" << std::endl;
C'è qualcosa che sarà assegnato sulla mucchio da std :: cout? Oppure std :: cout fa tutto sullo stack (significa che std :: cout e le sue funzioni sottostanti non faranno alcun new/malloc/etc...
)?
voglio sapere se pesantemente utilizzando std :: cout potrebbe causare una certa frammentazione degli heap
Non v'è alcuna garanzia che 'operatore << (std :: ostream &, T)' non invocherà 'new'. Questo è ovviamente vero per qualsiasi 'T' definito dall'utente. –
Perché sei preoccupato per la frammentazione dell'heap. C'è qualcos'altro che stai facendo che rende questa una grande preoccupazione? –
@LokiAstari Lo chiedo solo per curiosità. – Mesop