Em linguagem C++,
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
Alguém que entenda de C++ de um help ae!
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:
- Resguarda da inviolabilidade de valores apontados por ponteiros;
- 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