Antananarivu
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Сразу скажу я новенький в этом деле, поэтому вопросы будут глупые, смешные и непоследовательные... А теперь вопрос.. наткнулся в программе, которую пытаюсь понять на такую строчку return (&x)[i-1]; при этом x,y,z - это переменные типа Double, объявленные в этом классе. В зависимости от i мы получаем, - (&x)[0] - x; (&x)[1] - y; (&x)[2] - z. Вот собственно и все... Вопрос, что здесь происходит? Как это называется и где об этом можно почитать? Я так понимаю, что берется адрес переменной и индексируется, но во-первых я нигде не встречал, что это так возможно (согласитесь, что это не очевидно, это же не массив, не контейнер), а во-вторых, почему получается, что x,y,z лежат в памяти друг за другом (может они и не лежат, допускаю, что это я чего-то совсем уж глобально не понял). В общем буду благодарен за любой ответ, а уж за подробное объяснение или за ссылку на главу учебника буду благодарен еще больше! Заранее спасибо.. |