0
Devons-nous utiliser le mot-clé restrict dans la déclaration et la définition des méthodes ou suffit-il de l'utiliser uniquement dans les fichiers de déclaration en code C++? Quelle est la bonne façon de l'utiliser?Limiter l'utilisation dans l'en-tête et la source
Code compile même sans restreindre utilisation dans la déclaration.
Par exemple
Foo.h
class Foo
{
public:
void Bar(int* __restrict__ in, int* __restrict__ out);
}
Foo.cpp
void Foo::Bar(int* __restrict__ in, int* __restrict__ out)
{
}
[** "Comme avec tous les qualificatifs des paramètres les plus externes,' __restrict__' est ignoré dans l'appariement de définition de la fonction. Cela signifie que vous avez seulement besoin pour spécifier '__restrict__' dans une définition de fonction, plutôt que dans un prototype de fonction." **] (https://gcc.gnu.org/onlinedocs/gcc/Restricted-Pointers.html) – StoryTeller