restrict
Sign in to saveключевое слово в языке программирования C
Article · Русский
restrict — ключевое слово в языке программирования C, введённое стандартом C99 и используемое в объявлениях указателей. char * restrict p1;int ** restrict p2;float * restrict p3, * restrict p4; Ключевое слово restrict позволяет программисту сообщить компилятору, что объявляемый указатель адресует область памяти, на которую не ссылается никакой другой указатель. Гарантию того, что на участок памяти не будут ссылаться более одного указателя, даёт программист. При этом оптимизирующий компилятор может генерировать более эффективный код (пример см. ниже). Использование ключевого слова restrict при объявлении других объектов (не указателей) не определено стандартом. При использовании ключевого слова restrict программа, написанная на «умном» C, может сравниться по скорости с программой, написанной на «глупом» Fortran. В языке C++ нет ключевого слова restrict (не описано в стандарте), но разработчики разных компиляторов C++ добавили аналогичные по назначению ключевые слова, например: * __restrict и __restrict__ у GNU Compiler Collection; * __restrict и __declspec(restrict) у Visual C++; * __restrict__ у Clang.
Abstract from DBpedia / Wikipedia · CC BY-SA