Perché i #pragmas non fanno parte dello standard C ++?

-4

Solitamente il problema di avere possibili inclusioni multiple è risolto con una serie di #ifdef #ifndef ma la direttiva risolve questo con una sola riga, apparentemente sono veramente utili e possono rendere il codice migliore in termini di leggibilità.

Perché non fanno parte degli standard C ++ e C? c'è un modo migliore per evitare inclusioni multiple?

    
posta user827992 03.07.2012 - 17:01
fonte

2 risposte

6

La definizione stessa di #pragma è che sono non standard. Le funzionalità fornite come standard sono fornite in qualche altro modo. Rendere #pragma standard vanificherebbe lo scopo di, beh, #pragma . Non sono altro che un insieme di estensioni di implementazione, che capita per coincidenza di essere le stesse.

    
risposta data 03.07.2012 - 17:50
fonte
3

Perché è precisamente mirato allo specifico implementazione del compilatore quindi a supportare cose che non faranno parte degli standard. Alcuni compilatori possono scegliere di supportare le comodità che descrivi a modo loro, mentre altri potrebbero non supportarle affatto e devono ancora essere conformi agli standard.

    
risposta data 03.07.2012 - 17:17
fonte

Leggi altre domande sui tag