İç İşlevler
SAL'deki bir ifade, yan etkileri olmayan bir ifade olması koşuluyla C/C++ ifadesi olabilir; örneğin, ++, --, ve işlev çağrılarının tümü bu bağlamda yan etkilere sahiptir. Ancak, SAL bazı işlev benzeri nesneler ve SAL ifadelerinde kullanılabilecek bazı ayrılmış simgeler sağlar. Bunlar iç işlevler olarak adlandırılır.
Genel Amaçlı
Aşağıdaki iç işlev ek açıklamaları SAL için genel yardımcı program sağlar.
Ek Açıklama | Açıklama |
---|---|
_Curr_ |
Şu anda ek açıklama eklenmekte olan nesnenin eş anlamlısı. _At_ Ek açıklama kullanımda olduğunda, _Curr_ için ilk parametre _At_ ile aynıdır. Aksi takdirde, ek açıklamanın sözcük temelli olarak ilişkilendirildiği parametre veya işlevin/dönüş değerinin tamamıdır. |
_Inexpressible_(expr) |
Arabellek boyutunun bir ek açıklama ifadesi kullanarak temsil etmek için çok karmaşık olduğu bir durumu ifade eder; örneğin, bir giriş veri kümesini tarayarak ve ardından seçili üyeleri sayarak hesaplandığında. |
_Nullterm_length_(param) |
param , arabellekteki öğe sayısıdır ancak null sonlandırıcı dahil değildir. Toplama olmayan, geçersiz olmayan türde herhangi bir arabelleğe uygulanabilir. |
_Old_(expr) |
Önkoşul olarak değerlendirildiğinde, _Old_ giriş değerini expr döndürür. Post-condition içinde değerlendirildiğinde, ön koşulda değerlendirildiği gibi değeri expr döndürür. |
_Param_(n) |
bir işlevin n 1'den n değerine kadar sayan th parametresi, n sabit bir tamsayı sabitidir. Parametre adlandırılmışsa, bu ek açıklama parametreye ada göre erişmekle aynıdır. Not: n üç nokta tarafından tanımlanan konumsal parametrelere başvurabilir veya adların kullanılmadığı işlev prototiplerinde kullanılabilir. |
return |
C/C++ ayrılmış anahtar sözcüğü return , bir işlevin dönüş değerini belirtmek için SAL ifadesinde kullanılabilir. Değer yalnızca post durumunda kullanılabilir; ön durumda kullanmak bir söz dizimi hatasıdır. |
Dizeye Özgü
Aşağıdaki iç işlev ek açıklamaları, dizelerin değiştirilmesini sağlar. Bu işlevlerin dördü de aynı amaca hizmet verir: türün null sonlandırıcıdan önce bulunan öğe sayısını döndürmek. Farklılıklar, başvuruda bulunılan öğelerdeki veri türleridir. Karakterlerden oluşmayan null olarak sonlandırılan arabelleğin uzunluğunu belirtmek istiyorsanız, önceki bölümdeki ek açıklamayı _Nullterm_length_(param)
kullanın.
Ek Açıklama | Açıklama |
---|---|
_String_length_(param) |
param , dizedeki öğe sayısıdır ancak null sonlandırıcı içermez. Bu ek açıklama karakter dizesi türleri için ayrılmıştır. |
strlen(param) |
param , dizedeki öğe sayısıdır ancak null sonlandırıcı içermez. Bu ek açıklama karakter dizilerinde kullanılmak üzere ayrılmıştır ve strlen() C Çalışma Zamanı işlevine benzer. |
wcslen(param) |
param , dizedeki null sonlandırıcıya kadar olan (ancak dahil olmayan) öğe sayısıdır. Bu ek açıklama geniş karakter dizilerinde kullanılmak üzere ayrılmıştır ve wcslen() C Runtime işlevine benzer. |
Ayrıca bkz.
- C/C++ Kod Hatalarını Azaltmak için SAL Ek Açıklamalarını Kullanma
- SAL'yi Anlama
- İşlev Parametrelerini ve Dönüş Değerlerini Açıklama
- İşlev Davranışını Yorumlama
- Yapıları ve Sınıfları Yorumlama
- Kilitlenme Davranışını Yorumlama
- Açıklamanın Ne Zaman ve Nereye Uygulanacağını Belirtme
- En İyi Yöntemler ve Örnekler