Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
const anahtar sözcüğü, bir tür bildiriminin türünü veya işlev parametresinin türünü değiştirerek değerin değişmesini engeller.
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], ...);
Parametreler
-
const-type
-
Geçerli bir MIDL tamsayısı, karakter, dize veya Boole türü belirtir. Geçerli MIDL türleri arasında küçük, kısa, uzun, char, char *, wchar_t, wchar_t *, bayt, bayt * ve geçersiz * bulunur. Tamsayı ve karakter türleri imzalanabilir veya işaretsiz olabilir.
-
tanımlayıcı
-
Geçerli bir MIDL tanımlayıcısı belirtir. Geçerli MIDL tanımlayıcıları en fazla 31 alfasayısal ve/veya alt çizgi karakterden oluşur ve alfabetik veya alt çizgi karakteriyle başlamalıdır.
-
const-expression
-
Belirtilen tür için uygun bir ifade, tanımlayıcı veya sayısal veya karakter sabiti belirtir: sabit tamsayı değişmez değerleri veya tamsayı sabitleri için sabit tamsayı ifadeleri; Boole türleri için derlemede hesaplanabilen Boole ifadeleri; karakter türleri için tek karakterli sabitler; ve [string] türleri için dize sabitleri. void * türü yalnızca NULL olarak başlatılabilir.
-
type-attribute-list
-
Türe uygulanan bir veya daha fazla özniteliği belirtir.
-
işaretçi türü
-
Geçerli bir MIDL işaretçi türü belirtir.
-
bildirimci ve bildirimci-listesi
-
Tanımlayıcılar, işaretçi bildirimcileri ve dizi bildirimcileri gibi standart C bildirimcilerini belirtir. Daha fazla bilgi için bkz . Dizi ve Sized-Pointer Öznitelikleri, diziler ve Diziler ve İşaretçiler. Bildirimci-listesi virgülle ayrılmış bir veya daha fazla bildirimciden oluşur. İşlev bildirimcisindeki parametre adı tanımlayıcısı isteğe bağlıdır.
-
function-attr-list
-
İşlev için geçerli olan sıfır veya daha fazla özniteliği belirtir. Geçerli işlev öznitelikleri şunlardır: [callback], [local]; işaretçi özniteliği [ref], [unique] veya [ptr]; ve [string], [ignore] ve [context_handle] kullanım öznitelikleri.
-
type-specifier
-
bir base_type, yapı, birleşim, numaralandırma türü veya tür tanımlayıcısı belirtir. İsteğe bağlı bir depolama belirtimi , tür belirticiden önce gelebilir.
-
ptr-decl
-
Sıfır veya daha fazla işaretçi bildirimcisi belirtir. İşaretçi bildirimcisi, C'de kullanılan işaretçi bildirimcisi ile aynıdır. Belirleyiciden, uzak gibi değiştiricilerden ve niteleyici sabitleyicisinden* oluşturulur.
-
işlev-adı
-
Uzak yordamın adını belirtir.
-
parameter-attribute-list
-
Belirtilen parametre türüne uygun sıfır veya daha fazla yönlü öznitelik, alan öznitelikleri, kullanım öznitelikleri ve işaretçi özniteliklerini belirtir. Birden çok özniteliği virgülle ayırın.
Açıklamalar
MIDL, IDL dosyasının arabirim gövdesinde sabit tamsayı, karakter, dize ve Boole türleri bildirmenizi sağlar. Const türü bildirimleri, oluşturulan üst bilgi dosyasında #define yönergeleri olarak yeniden oluşturulur.
DCE IDL derleyicileri sabit ifadeleri desteklemez. Bu nedenle, MIDL derleyicisi /osf anahtarını kullandığınızda bu özellik kullanılamaz.
Önceden tanımlanmış bir sabit, sonraki bir sabitin atanan değeri olarak kullanılabilir. Sabit tamsayı ifadesinin değeri, C dönüştürme kurallarına uygun olarak otomatik olarak ilgili tamsayı türüne dönüştürülür.
Karakter sabitinin değeri tek tırnaklı ASCII karakter olmalıdır. Karakter sabiti tek tırnak karakterinin kendisi olduğunda ('), ters eğik çizgi karakteri (\) tek tırnak karakterinden önce gelmelidir, örneğin \'.
Karakter dizesi sabitinin değeri çift tırnak içine alınmış bir dize olmalıdır. Dize içinde, ters eğik çizgi (\) karakteri , \" dilinde olduğu gibi sabit çift tırnak karakterinden ( " ) önce gelmelidir. Dize içinde, ters eğik çizgi karakteri (\) bir kaçış karakterini temsil eder. Dize sabitleri en fazla 255 karakterden oluşabilir.
NULL değeri void * türündeki sabitler için tek geçerli değerdir. Const bildirimiyle ilişkili tüm öznitelikler yoksayılır.
MIDL derleyicisi, ilk başlatmada aralık hatalarını denetlemez. Örneğin, "const short x = 0xFFFFFFFF;" belirttiğinizde, MIDL derleyicisi bir hata bildirmez ve başlatıcı oluşturulan üst bilgi dosyasında yeniden oluşturulur.
Örnekler
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 );
Ayrıca bakınız