Sono un programmatore C++ e nel corso degli anni sono stati sottoposti a sentire la nozione che STL è non buon ambiente per l'utilizzo in ambienti embedded e quindi di solito vietati nell'uso per embedded basato projects.I credo che le librerie STL come Boost siano molto più potenti e forniscano uno strumento di sviluppo meno incline agli errori (in pratica la sintassi è poco intimidatoria, ma una volta passato penso che sia un vero tesoro). Inoltre, trovo le affermazioni che STL è pesante e aumenta l'impronta finale del codice assurdo perché poiché è templatizzato si otterrà solo il codice compilabile che ha richiesto e non l'intero STL.STL in ambiente di tipo embedded
La mia domanda è: quali sono le ragioni di questo questo populista (almeno la maggior parte fa capolino intorno a me la pensano così) nozione che richiede STL è non per enviornment incorporato?
Vedo una domanda di natura simile, ma qui mi aspetto un aiuto per evidenziare i pro e i contro in generale su STL e sull'ambiente embedded qui.
Edit: ecco io aggiungerò i punti come le risposte sono disponibili in:
1. Portabilità
2. far fronte a enormi allocazioni dymanice dai contenitori STL
3. STL è difficile eseguire il debug
4 Chiamate di funzioni profonde in STL si traducono in prestazioni ridotte per compilatori deboli con inlining (potenza dei funtori inutili!)
Sono d'accordo con te sul punto relativo alla dimensione del codice generato.Ho trovato che il codice generato da STL è molto compatto, molto più piccolo del codice costruito a mano per tutti, ma esempi banali. – SingleNegationElimination