У меня следующий вопрос: как правильно передать карту (или вектор и т. Д.) В функцию в c ++, когда передача по значению или константной ссылке не возможна, поскольку карту необходимо изменить в пределахФункция и изменения должны быть видны также вне функции?
Моя функция test1
вызывает ошибку сегментации 11. Это происходит потому, что указатель явно не несет никакой информации о размере?
Функция test2
работает как надо, но flymake-google-cpplint говорит: «Это неконстантная ссылка? Если да, создайте const или используйте указатель».
#include <iostream>
#include <map>
using namespace std;
void test1(map<int, int> *memo) {
auto it = memo->find(1);
}
void test2(map<int, int> &memo) {
}
int main() {
map<int, int> *memo;
memo->insert(make_pair(1,1));
return 0;
}
Какое решение вы бы порекомендовали?
Большое спасибо
M