I have the following Code in my project:
std::cout << "Without iterator:\n";
std::vector<RectangleCluster*> rc = p->getInnerRegionPolygons().at(0)->getClusters();
for (int i = 0; i < rc.size(); i++)
std::cout << "Cluster " << rc.at(i)->getId() << ": start = " << rc.at(i)->getOverlapAtStart() << ", end = " << rc.at(i)->getOverlapAtEnd() << std::endl;
std::cout << "\n\nWith iterator:\n";
for (std::vector<RectangleCluster*>::iterator ci = p->getInnerRegionPolygons().at(0)->getClusters().begin(); ci != p->getInnerRegionPolygons().at(0)->getClusters().end(); ++ci)
std::cout << "Cluster " << (*ci)->getId() << ": start = " << (*ci)->getOverlapAtStart() << ", end = " << (*ci)->getOverlapAtEnd() << std::endl;
The console output looks like this:
Without iterator:
Cluster 0: start = 65.4238, end = 64.9811
Cluster 1: start = 64.9811, end = 17.9983
Cluster 2: start = 17.9983, end = 17.9983...
With iterator:
Cluster 34026352: start = 1.68113e-316, end = 1.68113e-316
Cluster 1: start = 64.9811, end = 17.9983
Cluster 2: start = 17.9983, end = 17.9983...
The output after "..." is also equal. Why does the code without iterator give me "Cluster 0: start = 65.4238, end = 64.9811" and the code with the iterator "Cluster 34026352: start = 1.68113e-316, end = 1.68113e-316"?
Best regards Gernot