There is such code:
#include <iostream>
int main(){
unsigned int* wsk2 = new unsigned int(5);
std::cout << "wsk2: " << wsk2 << " " << *wsk2 << std::endl;
delete wsk2;
wsk2 = new unsigned int;
std::cout << "wsk2: " << wsk2 << " " << *wsk2 << std::endl;
return 0;
}
Result:
wsk2: 0x928e008 5
wsk2: 0x928e008 0
I have read that new doesn’t initialize memory with zeroes. But here it seems that it does. How does it work?
There are two versions:
Also works for arrays:
In answer to comment below.
Apparently yes:
Results: