7.2. Restricting Pointer Aliasing
7.2 Restricting Pointer Aliasing
As with the C front end, G++ understands the C99 feature of restricted pointers, specified with the __restrict__
, or __restrict
type qualifier. Because you cannot compile C++ by specifying the -std=c99
language flag, restrict
is not a keyword in C++.
In addition to allowing restricted pointers, you can specify restricted references, which indicate that the reference is not aliased in the local context.
void fn (int *__restrict__ rptr, int &__restrict__ rref)
{
/* ... */
}
In the body of fn
, rptr points to an unaliased integer and rref refers to a (different) unaliased integer.
You may also specify whether a member function's this pointer is unaliased by using __restrict__
as a member fun