__restrict および __assume Visual C++ 2005 には、パフォーマンスの改善に使用できるキーワードとして __restrict および __assume があります。 まず、__restrict と __declspec(restrict) が異なるものであることに注意する必要があります。この 2 つのキーワードは多少関連がありますが、意味が異なります。__restrict は、const や volatile のような型修飾子ですが、ポインタ型に対してのみ使用できます。 __restrict によって変更したポインタは、__restrict ポインタと呼びます。__restrict ポインタは、__restrict ポインタを使用してアクセスする必要があるポインタです。つまり、__restrict ポインタが指すデータには、別のポインタを使用してアクセスする