Aracılığıyla paylaş


İç İş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 exprdö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 n1'den ndeğ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.