Microsoft 固有の修飾子Microsoft-specific modifiers

このセクションでは、次の領域での C++ への Microsoft 固有の拡張について説明します。This section describes Microsoft-specific extensions to C++ in the following areas:

Microsoft 固有キーワードMicrosoft-specific keywords

Microsoft 固有キーワードの多くは、宣言子を変更して派生型を作成する際に使用できます。Many of the Microsoft-specific keywords can be used to modify declarators to form derived types. 宣言子の詳細については、 宣言子を参照してください。For more information about declarators, see Declarators.

KeywordKeyword 意味Meaning 派生型を作成するために使用しますか?Used to Form Derived Types?
__based__based これに続く名前は、宣言に含まれている 32 ビット ベースへの 32 ビット オフセットを宣言します。The name that follows declares a 32-bit offset to the 32-bit base contained in the declaration. はいYes
__cdecl__cdecl これに続く名前は、C の命名規約と呼び出し規則を使用します。The name that follows uses the C naming and calling conventions. はいYes
__declspec__declspec これに続く名前は、Microsoft 固有のストレージ クラス属性を指定します。The name that follows specifies a Microsoft-specific storage-class attribute. いいえNo
__fastcall__fastcall これに続く名前は、引数を渡すためのスタックの代わりに、レジスタ (使用できる場合) を使用できる関数を宣言します。The name that follows declares a function that uses registers, when available, instead of the stack for argument passing. はいYes
__restrict__restrict __Declspec (制限) に似ていますが、変数に使用します。Similar to __declspec(restrict), but for use on variables. いいえNo
__stdcall__stdcall これに続く名前は、標準呼び出し規約を順守する関数を指定します。The name that follows specifies a function that observes the standard calling convention. はいYes
__w64__w64 64 ビット コンパイラでより大きいデータ型としてマークします。Marks a data type as being larger on a 64-bit compiler. いいえNo
__unaligned__unaligned 型またはその他のデータへのポインターが配置されていないことを指定します。Specifies that a pointer to a type or other data is not aligned.. いいえNo
__vectorcall__vectorcall これに続く名前は、引数を渡すためのスタックの代わりに、SSE レジスタを含むレジスタ (使用できる場合) を使用できる関数を宣言します。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++ 言語リファレンスC++ Language Reference