Шрифт:
Представление объекта типа
Все переменные типа
Смысл битов, размещенных в памяти, полностью зависит от типа, используемого для доступа к этим битам. Это следует понимать следующим образом: память компьютера ничего не знает о типах; это просто память, и больше ничего. Биты, расположенные в этой памяти, приобретают смысл, только когда мы решаем, как интерпретировать данный участок памяти. Такая ситуация вполне типична при повседневном использовании чисел. Что значит
Этот набор битов, записанных в участке памяти (слове), можно прочитать как переменную типа
Смысл двоичных чисел описан в разделе А.2.1.1.
3.9. Типовая безопасность
Каждый объект в ходе определения получает тип. Программа — или часть программы — является безопасной с точки зрения использования типов (type-safe), если объекты используются только в соответствии с правилами, предусмотренными для их типов. К сожалению, существуют операции, которые не являются безопасными с этой точки зрения. Например, использование переменной до ее инициализации не считается безопасным.
Компьютер может даже сообщить об ошибке аппаратного обеспечения при попытке использовать неинициализированную переменную
Идеал типовой безопасности невероятно важен для создания кода. Вот почему мы поминаем о нем так рано. Пожалуйста, запомните об этой опасности и старайтесь избегать ее в своих программах.
3.9.1. Безопасные преобразования
В разделе 3.4 мы видели, что нельзя непосредственно складывать объекты типа
Здесь значения переменных
Этот фрагмент программы выводит на экран следующий результат:
В этом смысле — то, что значение всегда преобразуется в эквивалентное значение или (для типа