Date: 2013-05-13 11:28 am (UTC)
Проблема, кажется, в том, что по стандарту мы имеем право сравнивать на больше-меньше только указатели, которые указывают внутрь одного объекта, нет?
Т.е. вообще-то, указатели, которые получены от двух вызовов malloc()'а в совсем-совсем стандартном C не имеют отношения порядка между собой.
Стандарт разрешает сравнивать только пойнтеры, которые указывают в одну структуру или массив...

Так что получается, что такой memmove() не очень-то реализуем — мы не можем быть уверены, что мы вообще можем сравнить два переданных нам указателя. Точнее — можем, но можем получить undefined result, который в стандартном C никак не обработать.

И реализация memmove() для какой-нибудь теговой архитектуры потребует обращения к платформо-специфичным средствам определения, одному ли объекту принадлежат указатели.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

June 2025

S M T W T F S
123 4 5 6 7
8 910 11 12 13 14
15 16 17 1819 20 21
22 23 24 25 26 27 28
29 30     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 3rd, 2025 03:57 pm
Powered by Dreamwidth Studios