fork download
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. const int LOOKUP = 3;
  5.  
  6. struct Box {
  7. int use;
  8. int cap;
  9. };
  10.  
  11. void print_vec(const std::vector<Box>& bx) {
  12. for (const Box &b : bx ) {
  13. std::cout << "Box: " << b.use << "/" << b.cap << std::endl;
  14. };
  15. }
  16.  
  17. void find_box(std::vector<Box>& bx, Box*& bptr) {
  18. for (Box &b : bx) {
  19. if (b.use == LOOKUP) {
  20. bptr = &b;
  21. return;
  22. }
  23. }
  24. }
  25.  
  26. int main() {
  27. std::vector<Box> boxes = { {1,1}, {2,2}, {3,3}, {4,4}, {5,5} };
  28.  
  29. Box* bptr = nullptr;
  30.  
  31. print_vec(boxes);
  32.  
  33. find_box(boxes, bptr);
  34.  
  35. Box& b = *bptr;
  36.  
  37. std::cout << std::endl;
  38. std::cout << "Found box w size: " << b.use << std::endl;
  39. b.cap = 99;
  40. std::cout << "New capacity: " << b.cap << std::endl << std::endl;
  41.  
  42. print_vec(boxes);
  43. }
  44.  
Success #stdin #stdout 0s 3460KB
stdin
Standard input is empty
stdout
Box: 1/1
Box: 2/2
Box: 3/3
Box: 4/4
Box: 5/5

Found box w size: 3
New capacity: 99

Box: 1/1
Box: 2/2
Box: 3/99
Box: 4/4
Box: 5/5