c++ - Passing vector by reference -


using normal c arrays i'd that:

void do_something(int el, int **arr) {    *arr[0] = el;    // else } 

now, want replace standard array vector, , achieve same results here:

void do_something(int el, std::vector<int> **arr) {    *arr.push_front(el); // function above } 

but displays "expression must have class type". how properly?

you can pass container reference in order modify in function. other answers haven’t addressed std::vector not have push_front member function. can use insert() member function on vector o(n) insertion:

void do_something(int el, std::vector<int> &arr){     arr.insert(arr.begin(), el); } 

or use std::deque instead amortised o(1) insertion:

void do_something(int el, std::deque<int> &arr){     arr.push_front(el); } 

Comments

Popular posts from this blog

android - getbluetoothservice() called with no bluetoothmanagercallback -

sql - ASP.NET SqlDataSource, like on SelectCommand -

ios - Undefined symbols for architecture armv7: "_OBJC_CLASS_$_SSZipArchive" -