Какой смысл в указателях const?



Я не говорю о указателях на значения const,но сами указатели const.



Я изучаю C и C++ за пределами самого основного материала, и только до сегодняшнего дня я понял, что указатели передаются по значению в функции, что имеет смысл.
Это означает, что внутри функции я могу сделать скопированный указатель на какое-то другое значение, не затрагивая исходный указатель от вызывающего объекта.



Итак, какой смысл иметь заголовок функции, который говорит:



void foo(int* const ptr);


внутри такой функции вы не можете заставить ptr указывать на что-то еще, потому что это const, и вы не хотите, чтобы он был изменен, но такая функция:



void foo(int* ptr);


делает работу так же хорошо! потому что указатель копируется в любом случае и указатель в вызывающем абоненте не влияет, даже если вы измените копию. Так в чем же преимущество const?

584   0  

Comments

    Ничего не найдено.