void do_something(int el,int **arr) { *arr[0] = el; // do something else }
现在,我想用矢量替换标准数组,并在此获得相同的结果:
void do_something(int el,std::vector<int> **arr) { *arr.push_front(el); // this is what the function above does }
但它显示“表达式必须有类类型”.如何正确地做到这一点?
void do_something(int el,std::vector<int> &arr){ arr.insert(arr.begin(),el); }
或者使用std :: deque代替摊销的O(1)插入:
void do_something(int el,std::deque<int> &arr){ arr.push_front(el); }