Anotando estruturas e classes
Você poderá anotar a estrutura e classificar membros usando as anotações que atuam como invariants- se presume estarem verdadeiros em qualquer chamada de função ou funções de entrada/saída que envolve a estrutura incluindo como um ou um valor de resultado.
Estrutura da classe e anotações
Anotação |
Descrição |
---|---|
_Field_range_(low, high) |
O campo está no intervalo (-) de low a high.O equivalente a _Satisfies_(_Curr_ >= low && _Curr_ <= high) aplicada ao objeto anotado usando o apropriado pre ou condições de postagem. |
_Field_size_(size) _Field_size_opt_(size) _Field_size_bytes_(size) _Field_size_bytes_opt_(size) |
Um campo que tem um tamanho modificável nos elementos ou (em bytes) como especificado por size. |
_Field_size_part_(size, count) _Field_size_part_opt_(size, count) _Field_size_bytes_part_(size, count) _Field_size_bytes_part_opt_(size, count) |
Um campo que tem um tamanho modificável nos elementos ou (em bytes) como especificado por size, e count desses elementos (bytes) que são legíveis. |
_Field_size_full_(size) _Field_size_full_opt_(size) _Field_size_bytes_full_(size) _Field_size_bytes_full_opt_(size) |
Um campo que tenha o tamanho legível e modificável nos elementos ou (em bytes) como especificado por size. |
_Struct_size_bytes_(size) |
Se aplica à declaração de estrutura ou da classe.Indica que um objeto válido desse tipo pode ser maior do que o tipo declarado, com o número de bytes que estão sendo especificados por size.Por exemplo:
O tamanho do buffer em bytes de pM um parâmetro de tipo MyStruct * é então ser colocada:
|
Consulte também
Referência
Anotando parâmetros de função e valores de retorno
Anotando o comportamento da função
Anotando o comportamento de bloqueio
Especificando quando e onde uma anotação se aplica
Práticas recomendadas e exemplos (SAL)
Conceitos
Outros recursos
Usando o SAL anotações para reduzir os defeitos no código C/C++