Недавно я ответил на другой вопрос, требующий вопросов, на которые должен уметь ответить каждый порядочный программист на C ++ . Мое предложение было
Q: How does a pointer point to an object?
A: The pointer stores the address of that object.
, но пользователь R .. не согласен с предложением ИИ Q - он говорит, что Правильный ответ будет «это зависит от реализации». Хотя современные реализации хранят числовые адреса как указатели, нет никаких причин, по которым это не могло быть чего-то более сложного .
Определенно, я не могу не согласиться с тем, что могут быть другие реализации, кроме хранения адрес просто для того, чтобы не согласиться. Мне действительно интересно, какие еще реально используемые реализации существуют.
Какие еще реально используемые реализации указателей в C ++ кроме хранения адреса в переменной целочисленного типа? Как реализовано приведение типов (особенно dynamic_cast
)?