Re[4]: Сравнение union'ов
От: mp_op  
Дата: 12.08.11 20:25
Оценка:
Здравствуйте, Centaur, Вы писали:

C>Прежде чем «просто сравнивать», нужно определиться с понятием равенства.

Мне скорее нужно неравество. Реальная ситуация такая, есть два объекта одного юниона, то есть тип юниона одинаковый, но в юнионе много указателей. Какой из них активен — неизвестно. Надо просто выяснить один и тот же указатель записан в обоих объектах или нет.

Pavel Dvorkin предложил отличное решение, не использовать union вообще. Пожалуй я так и поступлю (хотя код не мой), но хотелось бы до конца разобраться.

Я знал, что записывать одно, а извлекать другое из юниона нельзя. Вы все это подтвердили. Так же опровергли моей предположение о том, что есть исключение с void*. Теперь для полного просветления мне не хватает ответа на один вопрос: Что если в юнионе лежат все указатели одного типа? Например все типа void*. В этом случае сравнивать разные элементы таких юнионов тоже нельзя?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.