Добавление элементов в 2D-вектор (вектор векторов) C

#c #vector

#c #вектор

Вопрос:

Итак, допустим, у меня есть:

 vector<vector<int> > temp;
  

таким образом, это был бы просто пустой 2d-вектор, и притворитесь, что он заполнен 0s, чтобы он выглядел так:

 0  0
0  0
0  0
0  0
  

и, допустим, я хочу что-то добавить к этому вектору, например, если бы у меня было:

 int x = 3, y = 4;
  

Я хочу поместить их в вектор, чтобы он выглядел примерно так:

 0  0
0  0
0  0
3  4
  

и я пытался:
temp.push_back(x,y); но это неправильный синтаксис.

Ответ №1:

Поскольку temp имеет внутри a vector<int> , правильный синтаксис будет:

temp.push_back({x,y});

Используя список инициализаторов фигурных скобок, это создает другой вектор, состоящий из двух элементов, x и y , и возвращает его обратно temp .

Комментарии:

1. Спасибо вам за это! Это сработало. Мне любопытно, однако, как мне приступить к удалению элементов? Допустим, у меня есть 3 4 в этом нижнем ряду, затем 2 5 в строке над ним, и я хотел удалить строку 2 5, я не уверен, как удаление будет работать для 2d-вектора.

2. Это действительно отдельный вопрос. Вы должны открыть другой вопрос с вопросом о том, как удалить, поскольку неясно, хотите ли вы просто удалить строку перед последней или выполнить поиск конкретной строки и удалить и т. Д.