Шрифт:
Естественно, мы не хотели бы совсем отказываться от защиты, представляемой системой типов, но иногда у нас нет логичной альтернативы (например, когда мы должны обеспечить работу с программой, написанной на другой языке программирования, в котором ничего не известно о системе типов языка С++). Кроме того, существует множество ситуаций, в которых необходимо использовать старые программы, разработанные без учета системы безопасности статических типов.
В таких случаях нам нужны две вещи.
• Тип указателя, ссылающегося на память без учета информации о том, какие объекты в нем размещены.
• Операция, сообщающая компилятору, какой тип данных подразумевается (без проверки) при ссылке на ячейку памяти с помощью такого указателя.
Объектов типа
Указателю типа
Поскольку компилятор ничего не знает о том, на что ссылается указатель типа
• Оператор
• Оператор
Рассмотрим пример.
Первый пример — классическая ситуация, в которой необходимо применить оператор
Во втором примере оператор