fork(2) download
  1. #include <iostream>
  2.  
  3. struct myArrayWrapper
  4. {
  5. int m_array[5];
  6. };
  7.  
  8. void doSomething(myArrayWrapper a)
  9. {
  10. int* A = a.m_array;
  11.  
  12. //Display array contents
  13. std::cout<<"\nIn Function Before Modification\n";
  14. for (size_t j = 0; j < 5; ++j)
  15. std::cout << ' ' << A[j];
  16. std::cout << std::endl;
  17.  
  18. //Modify the array
  19. for (size_t j = 0; j < 5; ++j)
  20. A[j] = 100;
  21.  
  22. std::cout<<"\nIn Function After Modification\n";
  23. //Display array contents
  24. for (size_t j = 0; j < 5; ++j)
  25. std::cout << ' ' << A[j];
  26. std::cout << std::endl;
  27.  
  28. }
  29.  
  30. int main()
  31. {
  32. myArrayWrapper obj;
  33. obj.m_array[0] = 0;
  34. obj.m_array[1] = 1;
  35. obj.m_array[2] = 2;
  36. obj.m_array[3] = 3;
  37. obj.m_array[4] = 4;
  38. doSomething(obj);
  39.  
  40. //Display array contents
  41. std::cout<<"\nIn Main\n";
  42. for (size_t j = 0; j < 5; ++j)
  43. std::cout << ' ' << obj.m_array[j];
  44. std::cout << std::endl;
  45.  
  46. return 0;
  47. }
Success #stdin #stdout 0.02s 2724KB
stdin
Standard input is empty
stdout
In Function Before Modification
 0 1 2 3 4

In Function After Modification
 100 100 100 100 100

In Main
 0 1 2 3 4