Declarações
Declarações de introduzem novos nomes em um programa.Os tópicos abordados nesta seção incluem os seguintes usos para declarações.
Especificar classe de armazenamento, tipo de, e ligação para um objeto ou função.
Declare a function as inline or virtual.
Associar um nome de uma constante (enumeração declaração).
Declare a new type (class, struct, or union declaration).
Especifique um sinônimo para um tipo (typedef declaração).
Especificar um espaço para nome.
Além de introduzir um novo nome, uma declaração especifica como um identificador é deve ser interpretado pelo compilador.Declarações de reserva automaticamente associado com o identificador de armazenamento.Definições de reservam o armazenamento.
Observação |
---|
A maioria das declarações também são definições.Declarações que não são definições incluem as declarações de classe sem a lista de membros e declarações de função sem corpo da função. |
Uma declaração pode ser uma das:
especificadores de decl ] Declarador-list;
definição de função
especificação de vinculação
especificação de modelo
instanciação de modelo explícita
especialização de modelo explícita
definição do namespace
definição do alias de namespace
Usando declaração
diretiva Using
definição de ASM
O especificadores de decl o componente de uma declaração é mostrado como opcional; No entanto, pode ser omitido somente em declarações de tipos de classe ou enumerações.
Os declaradores na Declarador-list componente conter os nomes que está sendo declarados.Embora o Declarador-list é mostrado como opcionais, ele pode ser omitido somente em declarações ou definições de uma função.
Observação |
---|
A declaração de uma função é freqüentemente chamada de um prototype.Um protótipo fornece informações de tipo sobre argumentos e o tipo de retorno da função.Além disso, um protótipo permite que o compilador realizar conversões corretas e ajuda a fornecer segurança de tipos. |
Declarações ocorrem em um escopo.O escopo controla a visibilidade do nome declarado e a duração do objeto definido, se houver.Para obter mais informações sobre como as regras de escopo interagem com declarações, consulte Escopo.
Uma declaração de objeto também é uma definição, a menos que ele contenha o extern o especificador de classe de armazenamento descrito em Especificadores de classe de armazenamento.Uma declaração de função também é uma definição, a menos que ele seja um protótipo.Um protótipo é um cabeçalho de função sem um corpo definição de função.A definição de um objeto faz com que a alocação de armazenamento e inicializações apropriadas para o objeto.
Leitura adicional
Para obter informações sobre definição de função, consulte Definições de função do C++.
Para obter informações sobre especificação de vinculação, consulte Especificações de ligação.
Para obter informações sobre especificação de modelo, instanciação de modelo explícito e especialização de modelo explícito, consulte Modelos.
Para obter informações sobre definição do namespace e definição do alias de espaço para nome, consulte Namespaces (C++).
Para obter informações sobre definição de asm, consulte __asm.