#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. Это действительно отдельный вопрос. Вы должны открыть другой вопрос с вопросом о том, как удалить, поскольку неясно, хотите ли вы просто удалить строку перед последней или выполнить поиск конкретной строки и удалить и т. Д.