Почему const-правильность специфична для C ++?

Отказ от ответственности: я знаю, что есть два вопроса о полезности const-правильности, однако ни один не обсуждал, как const-правильность необходима в C ++в отличие от других языков программирования. Кроме того, я не удовлетворен ответами на эти вопросы.

Мы уже использовали несколько языков программирования, и одна вещь, которая меня беспокоит в C ++, это понятие const-правильности. Нет такого понятия в Java, C #, Python, Ruby, Visual Basic и т. Д., Это, кажется, очень специфично для C ++.

Прежде чем вы отправите меня на C ++ FAQ Lite, япрочитал это, и это нене убедить меня Совершенно достоверные, надежные программы написаны на Python все время, и здесь нет никакого ключевого слова const или его эквивалента. В Java и C # объекты могут быть объявлены как final (или const), но в них нет функций-членов const или параметров функции const. Если функция неЧтобы изменить объект, он может иметь интерфейс, который обеспечивает доступ только для чтения к объекту. Эта техника может в равной степени использоваться в C ++. На двух реальных системах C ++ яМы работали над ним, где-то было очень мало использования const, и все работало нормально. Так что я'Я далек от продажи на полезность того, чтобы позволить const загрязнять кодовую базу.

Мне интересно, что в C ++ делает const необходимым,в отличие от других языков программирования.

Пока что явидел только один случай, когда констдолжен использоваться:

#include 

struct Vector2 {
    int X;
    int Y;
};

void display(/* const */ Vector2& vect) {
    std::cout < vect.X < " " < vect.Y < std::endl;
}

int main() {
    display(Vector2());
}

Ответы на вопрос(14)

Ваш ответ на вопрос