atribut const

Kata kunci const memodifikasi jenis deklarasi jenis atau jenis parameter fungsi, mencegah nilai bervariasi.

const const-type identifier = const-expression ;

[ typedef [ , type-attribute-list ] ] const const-type declarator-list;

[ typedef [ , type-attribute-list ] ] pointer-type const declarator-list;

[ [ function-attr-list ] ] type-specifier [ ptr-decl ] function-name(
    [ [ parameter-attribute-list ] ] ) const; 

const-type [declarator], [ [ parameter-attribute-list ] ] pointer-type const [declarator], ...);

Parameter

jenis const

Menentukan bilangan bulat, karakter, string, atau jenis Boolean MIDL yang valid. Jenis MIDL yang valid meliputi kecil, pendek, panjang, karakter, char *, wchar_t, wchar_t *, byte, byte *, dan void *. Bilangan bulat dan jenis karakter dapat ditandatangani atau tidak ditandatangani.

pengidentifikasi

Menentukan pengidentifikasi MIDL yang valid. Pengidentifikasi MIDL yang valid terdiri dari hingga 31 karakter alfanumerik dan/atau garis bawah dan harus dimulai dengan karakter alfabet atau garis bawah.

const-expression

Menentukan ekspresi, pengidentifikasi, atau konstanta numerik atau karakter yang sesuai untuk jenis yang ditentukan: literal bilangan bulat konstanta atau ekspresi bilangan bulat konstanta untuk konstanta bilangan bulat; Ekspresi Boolean yang dapat dihitung pada kompilasi untuk jenis Boolean ; konstanta karakter tunggal untuk jenis karakter ; dan konstanta string untuk jenis [string] . Jenis void * hanya dapat diinisialisasi ke NULL.

type-attribute-list

Menentukan satu atau beberapa atribut yang berlaku untuk jenis tersebut.

jenis penunjuk

Menentukan jenis penunjuk MIDL yang valid.

deklarator dan daftar deklarator

Menentukan deklarator C standar, seperti pengidentifikasi, deklarator pointer, dan deklarator array. Untuk informasi selengkapnya, lihat Array dan Sized-Pointer Atribut, array, dan Array dan Pointer. Daftar deklarator terdiri dari satu atau beberapa deklarator, dipisahkan oleh koma. Pengidentifikasi nama parameter dalam deklarator fungsi bersifat opsional.

function-attr-list

Menentukan nol atau lebih atribut yang berlaku untuk fungsi. Atribut fungsi yang valid adalah [callback], [local]; atribut pointer [ref], [unique], atau [ptr]; dan atribut penggunaan [string], [abaikan], dan [context_handle].

type-specifier

Menentukan pengidentifikasi base_type, struct, union, enum type, atau type. Spesifikasi penyimpanan opsional dapat mendahului type-specifier.

ptr-decl

Menentukan nol atau lebih deklarator penunjuk. Deklarator penunjuk sama dengan deklarator penunjuk yang digunakan dalam C. Ini dibangun dari penunjuk * , pengubah seperti jauh, dan konstan kualifikasi.

nama fungsi

Menentukan nama prosedur jarak jauh.

parameter-attribute-list

Menentukan atribut arah nol atau lebih, atribut bidang, atribut penggunaan, dan atribut pointer yang sesuai untuk jenis parameter yang ditentukan. Pisahkan beberapa atribut dengan koma.

Keterangan

MIDL memungkinkan Anda untuk mendeklarasikan jenis bilangan bulat, karakter, string, dan Boolean konstan dalam isi antarmuka file IDL. Deklarasi jenis const direprovasi dalam file header yang dihasilkan sebagai arahan #define.

Pengkompilasi IDL DCE tidak mendukung ekspresi konstanta. Oleh karena itu, fitur ini tidak tersedia saat Anda menggunakan sakelar / osf compiler MIDL.

Konstanta yang ditentukan sebelumnya dapat digunakan sebagai nilai yang ditetapkan dari konstanta berikutnya. Nilai ekspresi integral konstanta secara otomatis dikonversi ke jenis bilangan bulat masing-masing sesuai dengan aturan konversi C.

Nilai konstanta karakter harus berupa karakter ASCII yang dikutip tunggal. Ketika konstanta karakter adalah karakter tanda kutip tunggal itu sendiri ('), karakter garis miring terbalik (\) harus mendahului karakter tanda kutip tunggal, seperti dalam \'.

Nilai konstanta string karakter harus berupa string yang dikutip ganda. Dalam string, karakter garis miring terbalik (\) harus mendahului karakter tanda kutip ganda harfiah ( " ), seperti dalam \". Dalam string, karakter garis miring terbelakang (\) mewakili karakter escape. Konstanta string dapat terdiri dari hingga 255 karakter.

Nilai NULL adalah satu-satunya nilai yang valid untuk konstanta jenis void *. Atribut apa pun yang terkait dengan deklarasi const diabaikan.

Pengkompilasi MIDL tidak memeriksa kesalahan rentang dalam inisialisasi const . Misalnya, ketika Anda menentukan "const short x = 0xFFFFFFFF;" pengkompilasi MIDL tidak melaporkan kesalahan dan penginisialisasi direproduksi dalam file header yang dihasilkan.

Contoh

const void *  p1        = NULL; 
const char    my_char1  = 'a'; 
const char    my_char2  = my_char1; 
const wchar_t my_wchar3 = L'a'; 
const wchar_t * pszNote = L"Note"; 
const unsigned short int x = 123; 
 
typedef [string] const char *LPCSTR; 
 
HRESULT GetName([out] wchar_t * const pszName );

Lihat juga

Array

Jenis Dasar MIDL

Boolean

byte

Callback

Char

context_handle

Enum

File Definisi Antarmuka (IDL)

Mengabaikan

Lokal

Lama

/osf

Ptr

Ref

Pendek

Ditandatangani

Kecil

string

struktur

union

Unik

Unsigned

Kekosongan

wchar_t