Skip to content

Latest commit

 

History

History
61 lines (53 loc) · 2.59 KB

File metadata and controls

61 lines (53 loc) · 2.59 KB
title Microsoft-Specific Modifiers | Microsoft Docs
ms.custom
ms.date 11/04/2016
ms.reviewer
ms.suite
ms.technology
cpp-language
ms.tgt_pltfrm
ms.topic language-reference
dev_langs
C++
ms.assetid 22c7178c-f854-47fa-9de6-07d23fda58e1
caps.latest.revision 10
author mikeblome
ms.author mblome
manager ghogen
translation.priority.ht
cs-cz
de-de
es-es
fr-fr
it-it
ja-jp
ko-kr
pl-pl
pt-br
ru-ru
tr-tr
zh-cn
zh-tw

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

See Also

C++ Language Reference