Возможный дубликат:
Продайте меня на const correct
Какова польза ключевого слова const
в C
или C++
, так как это разрешило такую вещь?
void const_is_a_lie(const int* n)
{
*((int*) n) = 0;
}
int main()
{
int n = 1;
const_is_a_lie(&n);
printf("%d", n);
return 0;
}
Выход: 0
Ясно, что const
не может гарантировать нечувствительность аргумента.