Partilhar via


Palavras-chave da linguagem (C++/CLI)

Várias palavras-chave de idioma modificados das extensões gerenciadas para C++ a Visual C++.

Na nova sintaxe de Visual C++, sublinhado vezes é removido como um prefixo de todas as palavras-chave (com uma exceção: __identifier é retido.) Por exemplo, uma propriedade é declarada agora como property, não __property.

Há duas razões principais para usar o prefixo de dois sublinhado em extensões gerenciadas:

  • É o método compatível de fornecer extensões locais ao padrão de ISO-C++. Um principal objetivo de design gerenciado das extensões não foi introduzir incompatibilidades com o idioma padrão, como novas palavras-chave e tokens. Por esta razão, em grande parte, que motivou a escolha de sintaxe do ponteiro da declaração de objetos de tipos gerenciados de referência.

  • O uso de sublinhado duplas, independentemente do aspecto compatível, também é uma garantia razoável de ser não invasor com a base existente de código dos usuários do idioma. Esse fosse um segundo principal objetivo de design gerenciado das extensões.

Independentemente de remover os sublinhados duplas, Microsoft permanece confirmar a ser compatível. Porém, o suporte para o modelo de objeto dinâmico de CLR representa um novo e paradigma de programação avançada. Suporte deste novo paradigmas exige seus próprios palavra-chave e tokens de alto nível. Nós buscamos para fornecer uma expressão de primeira classe deste novo paradigmas ao integrá-la e para oferecer suporte ao idioma padrão. O novo design de sintaxe fornece uma experiência de programação de primeira classe esses dois modelos de objeto distintas.

De maneira semelhante, we're estados relacionados com maximizar a natureza não invasora esses novos palavra-chave de idioma. Isso foi realizado com o uso de palavras-chave contextuais e espaçados. Antes de nós olhemos a nova sintaxe real de idioma, vamos tentar fazer sentido desses dois sabores especiais da palavra-chave.

Uma palavra-chave contextuais tem um significado especial nos contextos específicos do programa. No programa geral, por exemplo, sealed é tratado como um identificador comum. No entanto, quando ocorrer na parte da declaração de um tipo gerenciado da classe de referência, será tratado como uma palavra-chave no contexto dessa declaração da classe. Isso minimiza o impacto potencial invasor de introduzir uma nova palavra-chave do idioma, algo que não sentimos somos muito importantes para usuários com uma base existente de código. Ao mesmo tempo, permite que os usuários da nova funcionalidade tem uma experiência de primeira classe de recurso de idioma adicional – algo que não foi possível com extensões gerenciadas. Para obter um exemplo de como sealed é usado Declaração de um tipo de classe gerenciadoconsulte.

Uma palavra-chave o espaço, como value class, é um caso especial de uma palavra-chave de contexto. Combina uma palavra-chave existente com um modificador contextuais separados por um espaço. O par é tratado como uma única unidade em vez de como duas palavras-chave separados.

Consulte também

Conceitos

Primer de migração C++/CLI

Extensões de componente para plataformas de tempo de execução