Why not:
```std::vector<GeoLib::Point*> *points = new std::vector<GeoLib::Point*>(mesh.getNNodes());
auto point_it = points->begin();
for (auto node_it = mesh.getNodes().begin(); node_it != mesh.getNodes().end(); node_it++) {
    *point_it = new GeoLib::Point(static_cast<GeoLib::Point>(*(*node_it)));
}