Если код холодный то пиши его для людей. Код с тремя массивами я сразу пойму, а на этот код мне даже сейчас понадобилось время чтоб понять что ты хочешь сделать и зачем.
По твоему коду нельзя понять какой массив когда и для чего используется?
можно, но реализация выглядела стрёмно. впрочем, я бросил её, не дописав до конца, и пошёл с вопросом в этот чат. я попробую написать её ещё разок, заодно сравню с COW
Потому что весь код итерации сводится к получению копии атомарного шаред поинтера (да, я знаю что это нетривиальная операция) на вектор и итерации по нему.
Потому что весь код итерации сводится к получению копии атомарного шаред поинтера (да, я знаю что это нетривиальная операция) на вектор и итерации по нему.
Но он ведь и так к этому сводится, только без копии. Лочишь один массив и итерируешь. В конце модифицируешь согласно двум другим массивам. Всё.