Restrict

From Wikipedia, the free encyclopedia

Dans le langage de programmation C, à partir du standard C99, restrict est un mot-clé qui peut être utilisé dans les déclarations de pointeur. Le mot-clé restrict  est une déclaration d'intention donnée par le programmeur pour le compilateur. Il indique que pour la durée de vie du pointeur, seul le pointeur lui-même ou une valeur directement issue (comme pointer + 1) sera utilisé pour accéder à l'objet vers lequel il pointe. Cela limite les effets de l'aliasing de pointeur, aidant aux optimisations. Si la déclaration d'intention n'est pas respectée et que l'objet est atteint par un pointeur indépendant, cela se traduira par un comportement indéfini. L'utilisation du mot-clé restrict permet, en principe, d'obtenir la même performance que le même programme écrit en Fortran[1].

C++ n'a pas de support standard de restrict, mais de nombreux compilateurs ont des équivalents qui fonctionnent habituellement en C++ et en C, tels que __restrict__ pour GCC et Clang , et __restrict et __declspec(restrict) pour Visual C++.

Version sans restrict

Références

Voir aussi

Related Articles

Wikiwand AI