Applied to a function declaration or definition that returns a pointer type and tells the compiler that the function returns an object that will not be aliased with any other pointers.
__declspec(restrict) return_type f();
The compiler will propagate
__declspec(restrict). For example, the CRT
malloc function is decorated with
__declspec(restrict) and therefore, pointers initialized to memory locations with
malloc are also implied to not be aliased.
The compiler does not check that the pointer is actually not aliased. It is the developer's responsibility to ensure the program does not alias a pointer marked with the
restrict __declspec modifier.
For similar semantics on variables, see __restrict.
See noalias for an example using
For information about the restrict keyword that is part of C++ AMP, see restrict (C++ AMP).
END Microsoft Specific