Czy związki mają strukturę kontrolną, aby sprawdzić, który członek jest aktualnie w użyciu (lub czy w ogóle jest w użyciu)? Pytam o to, ponieważ niezdefiniowane zachowanie nigdy nie jest dobre w twoim programie.Testowany na obecność obecnego członka w Unii
8
A
Odpowiedz
12
Nie, żaden taki mechanizm nie istnieje na półce. Musisz się tym zająć. Zwykle podejście jest owijanie union
w struct
:
struct MyUnion
{
int whichMember;
union {
//whatever
} actualUnion;
};
Więc trzeba MyUnion x;
i x.whichMember
powie Ci, która dziedzina x.actualUnion
jest w użyciu (trzeba zaimplementować funkcjonalność chociaż).
Powiązane problemy
- 1. Enum vs non-członka dyskryminowane unii
- 2. PSCredentials od obecnego użytkownika
- 3. sprawdź obecność na liście szablon django
- 4. Uszkodzona obecność/brak uwierzytelnienia na poziomie typu
- 5. Szyny walidacja obecność nie na wartość 0
- 6. python 2.7 obecność w słowniku
- 7. Unii odnaleźć w strukturze grafu
- 8. C typ unii w Swift?
- 9. UibezierPaths Unii zamiast ścieżek
- 10. Nancy przekierować na trasie w ramach obecnego modułu
- 11. Casting stałe do unii
- 12. Android - Junit - Testowany projekt wykorzystuje zewnętrzny Jar
- 13. Wyrównanie elementu Unii
- 14. WYBIERZ GÓRĘ ... OD UNII
- 15. Jak poznać nazwę obecnego storyboardu?
- 16. Jak wykrywać obecność klawiatury sprzętowej?
- 17. Ecto - potwierdzić obecność związanego modelu
- 18. Jak wykryć obecność mikrofonu w systemie Android?
- 19. Jak wykryć obecność określonego urządzenia
- 20. Obecność Lync w FireFox i Chrome
- 21. C++ Wskaźnik do członka członka
- 22. kopiowanie nad danymi z unii w C
- 23. Znajomość Obecność w Internecie - Facebook SDK 3
- 24. Czy Stream.count() gwarantuje obecność w każdym elemencie?
- 25. Jak zaimportować moduł z katalogu na poziomie powyżej obecnego skryptu
- 26. usunąć duplikaty z SQL unii
- 27. wykrywania obecności dowolnego członka
- 28. Jak używać unii w zend db
- 29. C# równoważne do C Unii
- 30. Sugestie dotyczące obecnego rozwiązania szablonu jQuery?
+1: Ten typ struktury jest często określany jako "związek dyskryminowany" lub "oznaczony związek". –
Tak, myślałem o podobnym podejściu, ale ponieważ preferuję konstrukcje językowe dla tych, którzy są samoukami, po prostu musiałem wiedzieć, czy ktoś istnieje. Dzięki za szybką odpowiedź. –