Compartilhar via


Funções intrínsecas

Uma expressão no SAL pode ser expressão de energia AC /C ++ desde que é uma expressão que não tenha o lado efeito- para o, exemplo, ++ --, e as chamadas de função têm todas efeitos colaterais neste contexto.No entanto, o SAL fornece algum função como os objetos e alguns símbolos reservados que podem ser usados em expressões de SAL.Esses são chamados funções intrínsecas.

Uso geral

As seguintes instrinsic anotações de função fornecem o utilitário geral para o SAL.

Anotação

Descrição

_Curr_

Um sinónimo para o objeto sendo anotado no momento.Quando a anotação de _At_ está em uso, _Curr_ é o mesmo que o primeiro parâmetro a _At_.Caso contrário, é o parâmetro ou função inteira/valor de retorno com que a anotação é associada lexicalmente.

_Inexpressible_(expr)

Express uma situação onde o tamanho de um buffer é muito complexo personificar usando uma anotação expressão- por exemplo, quando é calculado digitalizando um conjunto de dados de entrada e então contando membros selecionados.

_Nullterm_length_(param)

param é o número de elementos em buffer até incluindo um terminador mas não nulo.Pode ser aplicada a qualquer buffer de agregação, não tipo não vago.

_Old_(expr)

Quando é avaliado na condição anterior, _Old_ retorna o valor exprde entrada.Quando é avaliado em pré condição, retorna o valor expr porque será avaliada na condição anterior.

_Param_(n)

O parâmetro de th de na uma função, contando de 1 a n, e n são uma constante integral literal.Se o parâmetro é chamado, a anotação é idêntica a acessar o parâmetro pelo nome.

ObservaçãoObservação
n pode referenciar parâmetros posicionais que são definidos por uma elipse, ou pode ser usado em protótipos de função onde os nomes não são usados.

return

A palavra-chave reservado C/C++ return pode ser usado em uma expressão de SAL para indicar o valor de retorno de uma função.O valor só está disponível no estado de postagem; é um erro de sintaxe para usá-lo pre no estado.

Específico de cadeia de caracteres

As seguintes anotações de função intrínseca possibilitam manipulação de cadeias de caracteres.Todos os quatro dessas funções servem a mesma finalidade: para retornar o número de elementos do tipo que é encontrado antes de zero. um terminadorAs diferenças são os tipos de dados em elementos que são referenciados.Observe que se você desejar especificar o tamanho de um buffer NULL- encerrado que não é composto de caracteres, use a anotação de _Nullterm_length_(param) a seção anterior.

Anotação

Descrição

_String_length_(param)

param é o número de elementos na cadeia de caracteres até incluindo um terminador mas não nulo.Esta anotação é permitida para tipos de cadeia de caracteres de caracteres.

strlen(param)

param é o número de elementos na cadeia de caracteres até incluindo um terminador mas não nulo.Esta anotação é permitida para uso em matrizes de caracteres e é semelhante à função strlen ()()de tempo de execução de C.

wcslen(param)

param é o número de elementos na cadeia de caracteres até (mas não incluir em zero.) um terminadorEsta anotação é permitida para uso em matrizes de caracteres e todo é semelhante à função wcslen ()()de tempo de execução de C.

Consulte também

Referência

Anotando parâmetros de função e valores de retorno

Anotando o comportamento da função

Anotando estruturas e classes

Anotando o comportamento de bloqueio

Especificando quando e onde uma anotação se aplica

Práticas recomendadas e exemplos (SAL)

Conceitos

Noções básicas sobre SAL

Outros recursos

Usando o SAL anotações para reduzir os defeitos no código C/C++