Microsoft-Specific Modifiers

 

For the latest documentation on Visual Studio 2017 RC, see Visual Studio 2017 RC Documentation.

This section describes Microsoft-specific extensions to C++ in the following areas:

Many of the Microsoft-specific keywords can be used to modify declarators to form derived types. For more information about declarators, see Declarators.

Microsoft-Specific Keywords

KeywordMeaningUsed to Form Derived Types?
__basedThe name that follows declares a 32-bit offset to the 32-bit base contained in the declaration.Yes
__cdeclThe name that follows uses the C naming and calling conventions.Yes
__declspecThe name that follows specifies a Microsoft-specific storage-class attribute.No
__fastcallThe name that follows declares a function that uses registers, when available, instead of the stack for argument passing.Yes
__restrictSimilar to __declspec(restrict), but for use on variables.No
__stdcallThe name that follows specifies a function that observes the standard calling convention.Yes
__w64Marks a data type as being larger on a 64-bit compiler.No
__unalignedSpecifies that a pointer to a type or other data is not aligned..No
__vectorcallThe name that follows declares a function that uses registers, including SSE registers, when available, instead of the stack for argument passing.Yes

C++ Language Reference

Show: