Compartilhar via


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

Várias palavras-chave de idioma alterado de Managed Extensions for C++ para Visual C++.

No novo Visual C++ sintaxe, o sublinhado duplo é removido como um prefixo de todas as palavras-chave (com uma exceção: __identifier é mantido).Por exemplo, uma propriedade agora está declarada como property, não __property.

Havia dois motivos principais para usar o prefixo de sublinhado duplo em gerenciado extensões:

  • É o método conformes de fornecer extensões de local para o padrão ISO C++.O principal objetivo do design gerenciado extensões era não apresentar incompatibilidades com o idioma padrão, como novas palavras-chave e símbolos.Foi esse motivo, em grande parte, motivou a escolha da sintaxe de ponteiro para a declaração de objetos de tipos de referência gerenciado.

  • O uso do sublinhado duplo, além de seu aspecto conformes, também é uma garantia razoável de sendo não invasiva com a base de código existentes dos usuários do idioma.Esse foi o segundo objetivo principal do design gerenciado extensões.

Apesar de remover o sublinhado duplo, a Microsoft continua compromisso sendo conformes.No entanto, o suporte para o modelo de objeto dinâmico CLR representa um novo e poderoso paradigma de programação.Suporte a esse novo paradigma requer sua própria alto nível palavras-chave e símbolos.Podemos ter buscou fornecer uma expressão de primeira classe desse novo paradigma, integração e suporte a linguagem padrão.Novo design sintaxe fornece uma experiência de programação de primeira classe desses dois modelos diferentes do objeto.

Da mesma forma, estamos preocupados com a maximização da natureza não invasiva dessas palavras-chave do idioma novo.Isso tem sido realizado com o uso de palavras-chave contextual e espaçadas.Antes de examinarmos a nova sintaxe de linguagem real, vamos tentar compreender esses dois tipos de palavra-chave especial.

Uma palavra-chave contextual tem um significado especial dentro de contextos de programa específico.Dentro do programa geral, por exemplo, sealed é tratado como um identificador comum.No entanto, quando ele ocorre dentro a parte da declaração de um tipo de classe de referência gerenciado, ele será tratado como uma palavra-chave dentro do contexto da declaração da classe.Isso minimiza o impacto potencial invasivo de introduzir uma nova palavra-chave na linguagem, algo que sentimos é muito importante para usuários com uma base de código existente.Ao mesmo tempo, ele permite que os usuários das novas funcionalidades tenham uma experiência de primeira classe do recurso idioma adicional – algo que não era possível com extensões gerenciadas.Para obter um exemplo de como sealed é usado consulte Declaração de um tipo de classe gerenciada.

Uma palavra-chave espaçada, como value class, é um caso especial de uma palavra-chave contextual.Ele pares uma palavra-chave existente com um modificador contextual separado por um espaço.O par é tratado como uma única unidade, em vez de duas palavras-chave separadas.

Consulte também

Conceitos

C + + / CLI migração Primer

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