Próximas questões
Com base no mesmo assunto
Ano: 2011 Banca: FCC Órgão: TRE-AP Prova: FCC - 2011 - TRE-AP - Programador de computador |
Q125859 Programação
Em linguagem C++,
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Resposta Correta: A

Vamos entender o tema abordado pela questão e por que a alternativa A é a correta:

O modificador const em C++ é utilizado para definir que um objeto não pode ser modificado. Quando aplicado a ponteiros, temos algumas possibilidades de uso, dependendo da posição da palavra const na declaração. Se declararmos const int* p, isso indica que o ponteiro p aponta para um int constante, ou seja, o valor do int não pode ser alterado através de p. Por outro lado, int* const p indica que p é um ponteiro constante para um int, o que significa que o ponteiro p não pode apontar para outro lugar após a sua inicialização. Também podemos ter const int* const p, onde o ponteiro é constante, assim como o valor para o qual ele aponta. O uso de const com ponteiros é essencial para garantir que certos dados não sejam modificados, o que pode ser especialmente importante em contextos onde a integridade dos dados precisa ser preservada.

Por isso, a alternativa A está correta, pois o modificador const é de fato utilizado para proteger valores apontados por ponteiros de modificação, garantindo a imutabilidade desses valores quando necessário.

É importante destacar que o entendimento correto dos modificadores e das declarações em C++ é fundamental para a programação segura e eficiente, evitando erros que podem ser difíceis de encontrar e corrigir.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Constantes simbólicas podem ser criadas com as diretivas do preprocessador #define. Neste modo os valores, de fato, não são interpretados imediatamente pelo compilador, antes são identificados e substituidos pelo preprocessador no estágio anterior à compilação.
Ótimo comentário, mas o gabarito é a letra A.

Alguém que entenda de C++ de um help ae!
Um breve comentário para a alternativa C que está incorreta. Vejamos:

Uma string é um conjunto de caracteres entre aspas. Por exemplo, “você é um vencedor” é uma string, composta pelas várias letras que formam a frase.
Não confunda strings com caractere.
Uma constante caractere simples fica entre dois apóstrofos, por exemplo ‘a’.
Entretanto “a” é uma string que contém somente uma letra.

Simple Use of ‘const’

The simplest use is to declare a named constant. This was available in the ancestor of C++, C.

To do this, one declares a constant as if it was a variable but add ‘const’ before it. One has to initialise it immediately in the constructor because, of course, one cannot set the value later as that would be altering it. For example,

const int Constant1=96;

will create an integer constant, unimaginatively called ‘Constant1’, with the value 96.

Such constants are useful for parameters which are used in the program but are do not need to be changed after the program is compiled. It has an advantage for programmers over the C preprocessor ‘#define’ command in that it is understood & used by the compiler itself, not just substituted into the program text by the preprocessor before reaching the main compiler, so error messages are much more helpful.

It also works with pointers but one has to be careful where ‘const’ is put as that determines whether the pointer or what it points to is constant. For example,

const int * Constant2

declares that Constant2 is a variable pointer to a constant integer and

int const * Constant2

is an alternative syntax which does the same, whereas

int * const Constant3

O uso do modificador const tem duas funções principais:

  1. Resguarda da inviolabilidade de valores apontados por ponteiros;
  2. Auxílio na compreensão das características de funções, durante a implementação.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo