C ++ Tomando o touro pelos chifres - Parte 21 Introdução Esta é parte de minha série 21, C ++ Tomando o touro pelos chifres. Nesta parte da série, nós olhamos o que é chamado de escopo identificador. Um bloco é um conjunto de instruções entre chaves, que são {e}. A questão aqui é: se um identificador é declarado fora de um bloco que vai ser visto no bloco? Por outro lado, se ele é declarado dentro do bloco, vai ser visto fora do bloco? Blocos não ocorrem de forma arbitrária no código. Existem certas construções que têm blocos. As seguintes construções têm blocos: se, por e função.
Vimos todos estes construtos. Para o restante deste tutorial, nós olhamos o caso, por e construções de função e como o escopo do identificador é aplicado a eles. Nota: Se você não pode ver o código ou se você acha que alguma coisa está faltando (link quebrado, imagem ausente), apenas contacte-me em [email protected]. Ou seja, contacte-me para o menor problema que você tem sobre o que você está lendo.
O caso Construct e identificador de escopo Leia e tente o seguinte código: #include using namespace std; int main () {int myInt = 40; if (25 == 25) {cout int herInt = 50; } //Cout retornar 0; } A condição é se se 25 é igual a 25. Agora, essa condição sempre retornará verdadeiro, e assim que o bloco se sempre será executado. Fora da quadra se, o identificador, myInt é declarada e atribuído o valor, 40. Dentro do bloco, se houver uma declaração para imprimir (display) myInt. Este identificador foi declarado fora do bloco if; se for visto no interior do bloco, que vai ser impressa.
Se você tentou o código que você teria notado que o valor de myInt foi impresso. Agora, dentro do bloco, um novo identificador, herInt foi declarado e teve um valor atribuído a ele. Do lado de fora do bloco, não é um comentário. Este comentário é realmente uma indicação precedida pelo comentário denotação, //. Devido a este signo anterior, a instrução não é executada. Se você remover o comentário denotação e re-experimentar o código, a seguinte explicação irá seguir: O identificador herInt é declarado dentro do bloco se.
Agora, se ele é visto fora do bloco, em seguida, a declaração "última" (sem o comentário denotação) iria imprimir o seu valor. Remova o símbolo //e tentar o código se você não tiver feito isso e observe que a última instrução de impressão não iria funcionar, e você receber uma mensagem de erro ou mensagens de erro em tempo de compilação. O constructo de função e número de identifica