fork download
  1. #include <iostream>
  2. #include <cstring>
  3.  
  4. void doIt(void *p)
  5. {
  6. double d;
  7. std::memcpy(&d, &p, sizeof(double));
  8. std::cout << "After: " << d << std::endl;
  9. }
  10.  
  11. int main() {
  12. static_assert(sizeof(void*) >= sizeof(double), "void* is not large enough!");
  13. double d = 123.45;
  14. std::cout << "Before: " << d << std::endl;
  15. void *p = nullptr;
  16. std::memcpy(&p, &d, sizeof(double));
  17. doIt(p);
  18. return 0;
  19. }
Success #stdin #stdout 0s 4572KB
stdin
Standard input is empty
stdout
Before: 123.45
After: 123.45