Выбор ответа Junior Указатели и ссылки спрашивают часто обновлено
const до и после звёздочки
Вопрос
Что можно делать с int* const p = &x;?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Менять значение p, но нельзя менять сам p. Читаем справа налево: p это константный указатель на int.
Варианты ответа
- Менять сам
p, но нельзя менять значение*p - Ничего нельзя менять: ни адрес, ни значение
*p - Менять значение
*p, но нельзя менять самpправильный ответ - Всё можно:
constпосле звёздочки игнорируется
Разбор
Читаем справа налево: p это константный указатель на int. Сам адрес зафиксирован, а объект изменяем.
- Запрет на
*pдаётconst int* p(указатель на константу). - Запрет на всё даёт
const int* const p. constв этой позиции значим и проверяется компилятором.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Термины по теме
Ещё по теме «Указатели и ссылки»
- Удалить узлы списка с заданными значениями
- Кольцевой буфер для логов
- Повернуть матрицу, хранящуюся одним буфером
- Указатель за конец массива
- Сопоставьте объявление и его смысл
- nullptr против NULL в перегрузке
- Указатель «за последним»
- Что выведет: арифметика указателей и ссылки