Изменение структуры данных во время итерации по ней

Что происходит, когда вы добавляете элементы в структуру данных, например вектор, пока повторяя его. Могу ли я этого сделать?

Я попробовал это, и он сломался:

int main() {
    vector<int> x = { 1, 2, 3 };

    int j = 0;
    for (auto it = x.begin(); it != x.end(); ++it) {
        x.push_back(j);
        j++;
        cout << j << " .. ";
    }
}
18
задан das-g 16 December 2015 в 22:38
поделиться