Добавление вектора к вектору [дубликаты]

@JsonSetter может помочь. См. Мой пример («данные» должны содержать unparsed JSON):

class Purchase
{
    String data;

    @JsonProperty("signature")
    String signature;

    @JsonSetter("data")
    void setData(JsonNode data)
    {
        this.data = data.toString();
    }
}
597
задан Lightness Races in Orbit 18 May 2016 в 17:04
поделиться

2 ответа

a.insert(a.end(), b.begin(), b.end());

или

a.insert(std::end(a), std::begin(b), std::end(b));

Второй вариант является более универсальным решением, поскольку b также может быть массивом. Однако для этого требуется C ++ 11. Если вы хотите работать с пользовательскими типами, используйте ADL:

using std::begin, std::end;
a.insert(end(a), begin(b), end(b));
1121
ответ дан 22 November 2019 в 21:55
поделиться
std::copy (b.begin(), b.end(), std::back_inserter(a));

Это можно использовать в случае, если элементы в векторе a не имеют оператора присваивания (например, константный член).

Во всех остальных случаях этот раствор неэффективен по сравнению с указанным выше раствором вставки.

80
ответ дан 22 November 2019 в 21:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: