Export (0) Print
Expand All
2 out of 4 rated this helpful - Rate this topic

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
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

__sptr

Specifies that pointer conversion extends the high-order bit of a 32-bit pointer throughout the high-order portion of a 64-bit pointer.

No

__stdcall

The name that follows specifies a function that observes the standard calling convention.

Yes

__uptr

Specifies that pointer conversion sets the high-order portion of a 64-bit pointer to zero.

No

__w64

Marks a date 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

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.