#include <algorithm>
#include <iostream>
#include <iterator>
#include <vector>

using namespace std;

void SetDataReferences(int*const* pVector, const size_t length) {
  transform(pVector, next(pVector, length), ostream_iterator<int>(cout, "\n"), [](const auto i) { return *i; });
}

void SetDataReferences(int** pVector, const size_t length) {
  for(const auto finish = next(pVector, length); pVector != finish; ++pVector) {
    delete *pVector;
    *pVector = new int{ 0 };
  }
}

int main() {
  vector<void*> foo = { new int{ 13 }, new int{ 42 } };

  SetDataReferences(reinterpret_cast<int**>(foo.data()), foo.size());
  SetDataReferences(reinterpret_cast<int*const*>(foo.data()), foo.size());
}