Aracılığıyla paylaş


İşlev Davranışını Yorumlama

Ek açıklama ekleme ek olarak İşlev parametreleri ve dönüş değerlerini, tüm işlev özelliklerinin açıklama ekleyebilirsiniz.

İşlev ek açıklamaları

Aşağıdaki ek açıklamalar işlevi bir bütün olarak uygulanır ve nasıl davranacağını ya da inanılmayacak kadar bekler açıklayın.

Açıklama Notları

Tanımlama

_Called_from_function_class_(name)

Tek başına amacı değildir; Bunun yerine, kullanılacak bir koşul olduğu _When_ ek açıklama.Daha fazla bilgi için bkz. Açıklamanın Ne Zaman ve Nereye Uygulanacağını Belirtme.

name De görünen rastgele bir dize parametresi bir _Function_class_ bazı işlevlerin bildirimi ek açıklama. _Called_from_function_class_şu anda ayrıştırılıyor işlevini kullanarak açıklama ise sıfır döner _Function_class_ aynı değeri olan name; Aksi halde sıfır döndürür.

_Check_return_

Dönüş değeri annotates ve durumları arayan onu incelemeniz gerekir.Void bir bağlamda işlevi çağrılırsa denetleyicisi bir hata bildirir.

_Function_class_(name)

name Kullanıcı tarafından belirlenen rasgele bir dize parametresi.Diğer isim uzaylarına farklı bir ad alanı bulunmaktadır.Bir işlevi, işlev işaretçisi veya — en usefully — bir işlev işaretçisi türü bir veya daha fazla işlev sınıflarına ait olarak atanmış.

_Raises_SEH_exception_

Her zaman konusu yapılandırılmış özel durum işleyicisi (seh) özel durum oluşturan bir işlev annotates _When_ ve _On_failure_ koşulları.Daha fazla bilgi için bkz. Açıklamanın Ne Zaman ve Nereye Uygulanacağını Belirtme.

_Maybe_raises_SEH_exception_

İsteğe bağlı olarak bir seh özel konusu neden olabilir bir işlev annotates _When_ ve _On_failure_ koşulları.

_Must_inspect_result_

Dönüş değeri, parametreler ve globals dahil olmak üzere herhangi bir çıkış değeri annotates.Ek açıklama eklenen nesne değeri sonradan incelenen değil Çözümleyicisi bir hata bildirir. "Bir koşullu deyim içinde kullanılan, bir çıktı parametresini atanan veya genel veya parametre olarak geçirilen olup olmadığını denetleme"içerir.Dönüş değerleri için _Must_inspect_result_ anlamına gelir _Check_return_.

_Use_decl_annotations_

Bir işlev tanımı (işlev gövdesi olarak da bilinir) üstbilgisindeki ek açıklamaları listesini yerine kullanılabilir. Zaman _Use_decl_annotations_ ise de tanımında olduğu gibi varsa kullanıldığında, aynı işlevi için bir kapsam içinde başlık çubuğunda görüntülenen ek açıklamaları kullanılan _Use_decl_annotations_ ek açıklama.

Başarı/başarısızlık açıklamaları

Bir işlev başarısız olur ve görününce, sonuçları tamamlanmamış veya işlev başarılı olduğunda sonuçları farklılık gösterir.Aşağıdaki listede ek açıklamaları hata davranışını ifade etmek için yollar sunar.Bu ek açıklamalar kullanmak için bunları başarı belirlemek etkinleştirmeniz gerekir; Bu nedenle, bir _Success_ ek açıklama gereklidir.Dikkat NTSTATUS ve HRESULT zaten bir _Success_ ; yerleşik ek açıklama Ancak, kendi belirtirseniz, _Success_ ek açıklamayı NTSTATUS veya HRESULT, yerleşik ek açıklama geçersiz kılar.

Açıklama Notları

Tanımlama

_Always_(anno_list)

Eşdeğer anno_list _On_failure_(anno_list); diğer bir deyişle, ek açıklamalar anno_list işlev başarılı olup olmadığına bakılmaksızın uygulanır.

_On_failure_(anno_list)

Kullanılmak üzere yalnızca _Success_ işlev açıklama eklemek için kullanılır — açıkça veya örtük olarak aracılığıyla _Return_type_success_ üzerinde bir typedef.Zaman _On_failure_ bir işlev parametresi veya dönüş değeri, her ek açıklama içinde bulunan ek açıklama varsa anno_list (Milattan) olarak kodlanmış sanki gibi davranır _When_(!expr, anno), expr parametresi gerekli _Success_ ek açıklama.Örtük uygulaması anlamına _Success_ için tüm post-conditions için geçerli değildir _On_failure_.

_Return_type_success_(expr)

Typedef değerine uygulanabilir.Tüm işlevler, yazın ve açıkça olmayan dönen gösterir _Success_ sahip oldukları gibi açıklamalı _Success_(expr)._Return_type_success_bir işlevi veya işlev işaretçisi typedef kullanılamaz.

_Success_(expr)

exprbir rvalue veren bir ifadesidir.Zaman _Success_ ek açıklama işlev bildirimi veya tanımı, her ek açıklama var (anno) işlevi ve post-condition olarak kodlanmış gibi davranır _When_(expr, anno)._Success_ Ek açıklama parametrelerini değil, bir işlev, yalnızca kullanılabilir ya da döndürme türü.Olabilir en çok bir _Success_ bir işlev, ve ek açıklama içinde olamaz _When_, _At_, veya _Group_.Daha fazla bilgi için bkz. Açıklamanın Ne Zaman ve Nereye Uygulanacağını Belirtme.

Ayrıca bkz.

Başvuru

İşlev Parametrelerini ve Dönüş Değerlerini Açıklama

Yapıları ve Sınıfları Yorumlama

Kilitlenme Davranışını Yorumlama

Açıklamanın Ne Zaman ve Nereye Uygulanacağını Belirtme

İç İşlevler

En İyi Yöntemler ve Örnekler (SAL)

Kavramlar

sal anlama

Diğer Kaynaklar

c/C++ kod hataları azaltmak için sal açıklamaları kullanma