Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
In this article
This section describes Microsoft-specific extensions to C++ in the following areas:
Based addressing, the practice of using a pointer as a base from which other pointers can be offset
Extended storage-class attributes declared with the __declspec keyword
The __w64 keyword
Many of the Microsoft-specific keywords can be used to modify declarators to form derived types. For more information about declarators, see Declarators.
Keyword | Meaning | Used to Form Derived Types? |
---|---|---|
__based | The name that follows declares a 32-bit offset to the 32-bit base contained in the declaration. | Yes |
__cdecl | The name that follows uses the C naming and calling conventions. | Yes |
__declspec | The name that follows specifies a Microsoft-specific storage-class attribute. | No |
__fastcall | The name that follows declares a function that uses registers, when available, instead of the stack for argument passing. | Yes |
__restrict | Similar to __declspec(restrict), but for use on variables. | No |
__stdcall | The name that follows specifies a function that observes the standard calling convention. | Yes |
__w64 | Marks a data type as being larger on a 64-bit compiler. | No |
__unaligned | Specifies that a pointer to a type or other data is not aligned. | No |
__vectorcall | The name that follows declares a function that uses registers, including SSE registers, when available, instead of the stack for argument passing. | Yes |