Re[4]: коллеги содрогнитесь :)
От: sokel Россия  
Дата: 19.01.10 13:45
Оценка:
Здравствуйте, Alexander G, Вы писали:

AG>Здравствуйте, ononim, Вы писали:


O>> Применял и "Struct/class offsets" — не неявно, через макрос MSSDK FIELD_OFFSET.

AG>Забавно: явное применение этого по стандарту нелегально, легально через макро offsetof, которое, как там отмечено, обычно сделано именно так.

Для легального offsetof acc выдаёт warning'и при использовании с non-POD типами.
warning #4189-D: a non-POD class type used in offsetof


А вот gcc подменой макроса уже не проведёшь, он доступ по NULL пойнтеру отслеживает:
warning: invalid access to non-static data member 'Class::Member' of NULL object
warning: (perhaps the 'offsetof' macro was used incorrectly)


Но вместо 0 можно и другую константу использовать...
Re[4]: коллеги содрогнитесь :)
От: Sergey Chadov Россия  
Дата: 20.01.10 07:39
Оценка: -1
Здравствуйте, R.O. Prokopiev, Вы писали:


ROP>>>[] is symmetric

К>>Зачем?!
ROP>Элементарно. Индексное выражение простое, а "указательное" — сложное, с C-кастами.
ROP>Например, i[(A *)b] вместо ((A *)b)[i].

А после code review лицо не болело?
--
Sergey Chadov

... << RSDN@Home 1.2.0 alpha rev. 685>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.