Stavo leggendo su più inclusioni della stessa intestazione in un unico file, e ho trovato una dichiarazione interessante (link):Quando è utile includere più volte la stessa intestazione in un file?
Ci sono un paio di trucchi con i file di intestazione sono stati deliberatamente includerlo più volte (questo in realtà fornisce una utile funzione ).
Capisco che questi trucchi sono probabilmente indesiderate e confusa in progetti reali (soprattutto perché le persone prendono precauzioni contro più inclusioni, come include guards e #pragma once
). Ma ancora, quali sono questi trucchi? Ho trovato alcune idee, ma vorrei vedere alcuni esempi reali (idealmente, sicuri e provati).
I miei pensieri:
- Gli pseudo-modelli in C, dove i parametri del modello sono sostituite con le definizioni del preprocessore. Può essere fatto senza inclusioni, ma le funzioni possono essere troppo grandi o troppo numerose, quindi fare un file separato avrebbe senso.
- Costruzione struttura/classe blocco a blocco (concatenazione di pezzi). Può aiutare a emulare l'ereditarietà in C e prevenire la duplicazione del codice quando si definiscono le strutture con membri comuni.
- Tabelle di ricerca e altre strutture di dati in fase di compilazione (sempre con l'ausilio delle definizioni del preprocessore).
Macro X. –
Forse se stai usando '# define' e' # undef' cosparso in un file sorgente ... –
Perché non chiedi alla persona che l'ha postata? – juanchopanza