- #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()); 
- } 
				I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aXRlcmF0b3I+CiNpbmNsdWRlIDx2ZWN0b3I+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBTZXREYXRhUmVmZXJlbmNlcyhpbnQqY29uc3QqIHBWZWN0b3IsIGNvbnN0IHNpemVfdCBsZW5ndGgpIHsKICB0cmFuc2Zvcm0ocFZlY3RvciwgbmV4dChwVmVjdG9yLCBsZW5ndGgpLCBvc3RyZWFtX2l0ZXJhdG9yPGludD4oY291dCwgIlxuIiksIFtdKGNvbnN0IGF1dG8gaSkgeyByZXR1cm4gKmk7IH0pOwp9Cgp2b2lkIFNldERhdGFSZWZlcmVuY2VzKGludCoqIHBWZWN0b3IsIGNvbnN0IHNpemVfdCBsZW5ndGgpIHsKICBmb3IoY29uc3QgYXV0byBmaW5pc2ggPSBuZXh0KHBWZWN0b3IsIGxlbmd0aCk7IHBWZWN0b3IgIT0gZmluaXNoOyArK3BWZWN0b3IpIHsKICAgIGRlbGV0ZSAqcFZlY3RvcjsKICAgICpwVmVjdG9yID0gbmV3IGludHsgMCB9OwogIH0KfQoKaW50IG1haW4oKSB7CiAgdmVjdG9yPHZvaWQqPiBmb28gPSB7IG5ldyBpbnR7IDEzIH0sIG5ldyBpbnR7IDQyIH0gfTsKCiAgU2V0RGF0YVJlZmVyZW5jZXMocmVpbnRlcnByZXRfY2FzdDxpbnQqKj4oZm9vLmRhdGEoKSksIGZvby5zaXplKCkpOwogIFNldERhdGFSZWZlcmVuY2VzKHJlaW50ZXJwcmV0X2Nhc3Q8aW50KmNvbnN0Kj4oZm9vLmRhdGEoKSksIGZvby5zaXplKCkpOwp9