Архитектурная акустика/Реализация/CFacePointCollectionIterator::Оператор косвенного доступа: различия между версиями
Перейти к навигации
Перейти к поиску
(Новая страница: «{{function_begin |const CAMaaS::POINT3DEXT* operator->() const;|{{Архитектурная акустика/Реализация/CFacePointCollectionIterator::…») |
|||
Строка 11: | Строка 11: | ||
CFacePointCollection coll = face.GetFacePointCollection(dr); | CFacePointCollection coll = face.GetFacePointCollection(dr); | ||
for (CFacePointCollectionIterator it = coll.begin(); it != coll.end(); ++it) | for (CFacePointCollectionIterator it = coll.begin(); it != coll.end(); ++it) | ||
std::cout << "{" << it->x() << "; " << it->y() << "; " << it->z() << "\n"; | std::cout << "{" << it->x() << "; " << it->y() << "; " << it->z() << "}\n"; | ||
</source> | </source> | ||
{{example_end}} | {{example_end}} |
Текущая версия на 23:57, 4 января 2018
const CAMaaS::POINT3DEXT* operator->() const;
Оператор косвенного разыменовывания.
- Возвращаемое значение:
- Адрес точки, с которой связан итератор CFacePointCollectionIterator, на отражающей поверхности. Объект, который адресует возвращаемый указатель, реализуется прокси-объектом, включенным в класс CFacePointCollectionIterator, поэтому обращение по этому адресу после изменения позиции итератора не определено и в таких сценариях необходимо локально создавать точку POINT3DEXT или объект, инициализируемый копией компонента POINT3DEXT, и инициализировать его результатом разыменовывания итератора.
Оператор используется для доступа к интерфейсу класса POINT3DEXT непосредственно через обращение к связанному итератору CFacePointCollectionIterator.
Пример
const double dr = 0.01;
CFace face = /*...*/;
CFacePointCollection coll = face.GetFacePointCollection(dr);
for (CFacePointCollectionIterator it = coll.begin(); it != coll.end(); ++it)
std::cout << "{" << it->x() << "; " << it->y() << "; " << it->z() << "}\n";