Palavra-chave auto (especificador de classe de armazenamento)
A palavra-chave auto declara uma variável na classe de armazenamento automática.
auto declarator ;
Comentários
Antes de Visual C++ 2010, a palavra-chave auto declara uma variável na classe de armazenamento automática. Ou seja, uma variável que tem um tempo de vida local e está visível apenas no bloco onde está declarada. A classe de armazenamento automática é a classe de armazenamento padrão para as variáveis com escopo de bloco.
A definição da palavra-chave auto está em conformidade com o padrão C++ original. Use a opção de compilador /Zc:auto- para selecionar explicitamente esse comportamento.
Alguns programadores usam a palavra-chave auto em declarações pois todos os objetos no escopo de bloco que não são declarados explicitamente com outra classe de armazenamento são implicitamente automáticos. Portanto, as duas declarações a seguir são equivalentes.
// auto_keyword_storage.cpp
// Compile with /Zc:auto-
int main()
{
auto int i = 0; // Variable i is explicitly declared auto.
int j = 0; // Variable j is implicitly declared auto.
}
Inicialização
Esta documentação chama uma variável que é declarada na classe de armazenamento automática como uma variável automática. As declarações de variáveis automáticas podem incluir inicializadores, conforme discutido em Inicializadores. Uma variável automática é iniciada sempre que ela aparecer no escopo se um inicializador for fornecido. Como as variáveis automáticas não são inicializadas por padrão, você deve inicializá-las quando as declara ou atribuir valores iniciais a elas no bloco. O valor de uma variável automática não inicializada é indefinido.
Consulte também
Referência
Especificadores de classe de armazenamento