Наконец-то я заинтересовался некоторыми функциями C99, и теперь у меня возникли проблемы с пониманием соответствующих разделов проекта C99.
Я знаю, чтоstrict — это обещание, что два ограниченных указателя не будут указывать на один и тот же объект, но мои поиски более подробных и конкретных объяснений того, что разрешено, а что нет, оказались малоэффективными.
Итак, мой вопрос: может ли кто-нибудь предоставить читаемое и понятное объяснение подробностей об указателях ограничения, например. когда я могу и не могу их использовать, когда это УБ и т. д. Чем больше подробностей, тем лучше. Я устал от того, что у меня болит голова, глядя на черновик C99.
Спасибо.
*memmove(void *s1, const void *s2, size_t n)
? Вы имели в виду*memcpy(void * restrict s1, const void * restrict s2, size_t n)
? - person chux - Reinstate Monica   schedule 17.02.2015