fork download
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. void modify(std::vector<int> &v);
  5.  
  6. int main () {
  7. std::vector<int> foo {16, 2, 77, 40, 12071};
  8.  
  9. modify(foo);
  10.  
  11. for(auto i : foo) std::cout << i << " ";
  12. std::cout << std::endl;
  13.  
  14. return 0;
  15. }
  16.  
  17. void modify(std::vector<int> &bar) {
  18. // baz points to (for example) memory location 4567
  19. std::vector<int> baz(bar.size());
  20.  
  21. // this loop can't modify my data in-place,
  22. // so it uses baz temporarily
  23. for(int i(0), sz(bar.size()); i < sz; ++i){
  24. int j;
  25. if(i == 0) j = 4;
  26. else j = i - 1;
  27. baz[i] = bar[i] + bar[j];
  28. }
  29. bar.swap(baz);
  30. }
Success #stdin #stdout 0s 3476KB
stdin
Standard input is empty
stdout
12087 18 79 117 12111