I sindacati dispongono di una struttura di controllo per verificare quale membro è attualmente in uso (o se ne ha uno affatto)? Lo sto chiedendo perché un comportamento indefinito non è mai una buona cosa da avere nel tuo programma.Unione testata per l'attuale membro in uso
8
A
risposta
12
No, nessun meccanismo di questo tipo è disponibile immediatamente. Dovrai prenderti cura di te stesso. L'approccio comune è avvolgente il union
in un struct
:
struct MyUnion
{
int whichMember;
union {
//whatever
} actualUnion;
};
in modo da avere MyUnion x;
e x.whichMember
ti dice quale campo di x.actualUnion
è in uso (è necessario implementare la funzionalità però).
Problemi correlati
- 1. Enum vs non membro discriminato unione
- 2. Modifica posizione testata GridView
- 3. Uso variabile di C++ Static Const membro
- 4. Aggiungi valore testata per test di test SpringRestTemplate
- 5. Unità testata su un repository LINQ2SQL
- 6. Unione/unione di matrici in C#
- 7. "Domain Users" gruppo è vuoto quando uso DirectoryServices "membro" proprietà
- 8. uso non valida di funzione membro non statica
- 9. Uso non valido di "this" nella funzione non membro
- 10. GVim come strumento di unione per TFS
- 11. unione di data.frame per riga in R
- 12. Unione anonima e unione normale
- 13. Unione disgiunto in LINQ
- 14. Inserire in unione
- 15. Uso su larga scala del consiglio di Meyer per preferire le funzioni Non membro, non amico?
- 16. "Adattatore" per variabili membro
- 17. decltype per funzioni membro
- 18. Unione unione php unione senza rimuovere la chiave di matrice
- 19. Stampa unione discriminata F #
- 20. unione multi-way contro unione 2-way
- 21. Impossibile patch classe istanziata dalla classe testata utilizzando unittest
- 22. C'è qualche differenza tra struttura e unione se abbiamo un solo membro?
- 23. Esempi di Unione in C
- 24. Team Foundation Server unione non unione
- 25. Android M autorizzazione del READ_PHONE_STATE testata (permessi pericolose)
- 26. Come inserire EasyMock mock nel campo privato della classe testata
- 27. tipo unione C in Swift?
- 28. Unione di mappe in Go
- 29. Indice di unione in Lucene
- 30. Unione e intersezione in PowerShell?
+1: questo tipo di struttura viene spesso definito "unione discriminata" o "unione contrassegnata". –
Sì, ho pensato ad un approccio simile, ma poiché preferisco i costrutti linguistici a quelli fatti da sé, dovevo solo sapere se ne esisteva uno. Grazie per la risposta rapida. –