Artigo Diretório
1. Na linguagem c, a palavra-chave auto é usada para declarar uma variável como uma variável automática
Variáveis automáticas também são chamadas de variáveis locais. Trate variáveis não definidas em nenhuma classe, estrutura, enumeração, união e funções como variáveis globais e variáveis definidas em funções como variáveis locais. Todas as variáveis locais são automáticas por padrão e geralmente são omitidas.
Quando auto declara variáveis globais, ocorre um erro de compilação:
auto int i;
void main(void)
{
}
Quando auto declara variáveis locais, a compilação é normal:
void fun(auto int i)
{
auto int j = i;
}
void main(void)
{
auto int i = 1;
fun(i);
}
2. Na linguagem c, apenas auto é usado para modificar variáveis, e o tipo de variável é inteiro por padrão
void main(void)
{
double a = 1.2, b = 2.7;
auto c = a + b;//c语言中,c = 3
}
3. Em c ++, a palavra-chave auto é um especificador de tipo
O tipo da variável é inferido a partir do valor inicial da variável ou do tipo de dados envolvido na expressão. Ao programar, geralmente é necessário atribuir o valor de uma expressão a uma variável, o que requer que o tipo da expressão seja claramente conhecido ao declarar a variável. O novo padrão C ++ 11 introduz o especificador de tipo automático, permitindo ao compilador analisar o tipo de expressão . Como o compilador precisa inferir o tipo da variável ou expressão, a variável definida por auto deve ser inicializada. Na linguagem C, as variáveis definidas por auto não podem ser inicializadas, porque as variáveis são do tipo inteiro por padrão. Esta parte refere-se ao blog: Análise da palavra-chave auto em linguagem C e a palavra-chave auto em C ++
void main(void)
{
double a = 1.2, b = 2.7;
auto c = a + b; // c++中, c = 3.9
}
Tópico: Escreva um programa, leia uma string contendo sinais de pontuação e espaços e produza a parte restante da string após remover os sinais de pontuação e espaços
Código-fonte C ++:
//编写一个程序,读入一个包含标点符号和空格的字符串,将标点符号和空格去除后输出字符串剩余的部分
#include <iostream>
#include <string>
using namespace std;
int main(void)
{
/*src为源字符串即要操作的字符串,dest为目标字符串,存放操作结果*/
string src, dest;
getline(cin, src); /*从输入中读取一行赋值给str*/
for (auto c : src) /*对str中的每个字符*/
{
if (!ispunct(c) && c != ' ') /*如果该字符不是标点符号和空格*/
{
dest.push_back(c); /*把该字符尾插到dest中*/
}
}
cout << dest << endl; /*输出dest中的内容*/
system("pause");
return 0;
}
Exemplo: