Windows apps
Collapse the table of content
Expand the table of content
Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

Microsoft-Specific Modifiers

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at Microsoft-Specific Modifiers.

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:
© 2017 Microsoft