Назад к вопросам
JuniorТеорияОчень часто
Какая строка этой программы не скомпилируется?
int main() {
int a = 1;
int b = 2;
const int* p = &a;
int* const q = &b;
p = &b;
*p = 4;
*q = 3;
return a + *p;
}*p = 4;: через p нельзя менять int, на который он указывает
- Ждать ошибку в
p = &b;: вconst int* pсловоconstотносится кint, а самpможно перенаправить. - Ждать ошибку в
*q = 3;: вint* const qсловоconstотносится к указателю, аintчерезqменять можно.
- Как объявить указатель, у которого нельзя менять ни сам указатель, ни значение?
- Почему функция, которая только читает числа, принимает
const int* data, а неint* data?