Поздравляем с прохождением четвертого уровня CS50! Подозреваем, было нелегко. Но и интересно, правда? Практически все начинающие программисты, которые сталкивались в своей учёбе с указателями, утверждают, что именно эта тема была для них камнем преткновения. Привыкнуть к ним непросто, зато они предоставляют огромные возможности… Правда, в этих возможностях скрыта столь же огромная опасность.

Именно неправильную работу с указателями называют причиной большинства ошибок в современном коде. Точнее, относительно современном: скажем, за последние лет 20.

Простой пример: вы наверняка уже сталкивались с ошибками выхода за границы массива. С указателями такая ошибка может привести к тому, что содержимое в соседней ячейке может быть затерто (это если вы ошиблись на единицу).

Одним словом, указатели — это как атомная энергия. Мощно, но очень опасно. Поэтому практически во всех более поздних языках эту «атомную энергию» заменили более экологичными средствами. Так, в Java есть ссылки и к ним можно обращаться, но адресная арифметика в этом языке отсутствует. То есть изменить что-то в ячейке памяти обращаясь к ней непосредственно не получится. В большинстве случаев это просто отлично. Но что в таком случае дают ссылки в Java? Много всего:

  • Доступ к полям объекта
  • Вызов методов
  • Операция приведения типа
  • Конкатенация строк (оператор '+')
  • Проверка принадлежности к определенному типу – оператор instanceof
  • Операции сравнения ссылки – '==' и '!='
  • Условный оператор ? :
  • Во многом благодаря своей безопасности язык Java получил такое широкое распространение и стал самым широко используемым языком программирования в мире.

    Хотите знать о Java больше? Подписывайтесь на курс JavaRush и учитесь параллельно с CS50!