Passing vector by reference
c++
Solution
You can pass the container by reference in order to modify it in the function. What other answers haven’t addressed is that `std::vector` does not have a `push_front` member function. You can use the `insert()` member function on `vector` for O(n) insertion:
void do_something(int el, std::vector<int> &arr){
arr.insert(arr.begin(), el);
}
Or use `std::deque` instead for amortised O(1) insertion:
void do_something(int el, std::deque<int> &arr){
arr.push_front(el);
}
Problem
Using normal C arrays I'd do something like that: ``` void do_something(int el, int **arr) { *arr[0] = el; // do something else } ``` Now, I want to replace standard array with vector, and achieve the same results here: ``` void do_something(int el, std::vector<int> **arr) { *arr.push_front(el); // this is what the function above does } ``` But it displays "expression must have class type". How to do this properly?