170 похожих чатов

Добрый день, у меня есть массив с моими структурками (Foo), я

хочу эти структурки переложить в мапу
но они могут быть тяжелыми и вроде как можно хранить ссылки в мапах через std::reference_wrapper<Foo>

собственно вопрос:
как правильно переложить Foo в мапу ?

у меня получилось как-то так, но мне кажется, что я не правильно все делаю(в форе перебираю структурки и копирую)
std::vector<Foo> array_of_foo;
std::map<int, std::reference_wrapper<Foo>> map_of_foo;

for(auto item: array_of_foo){
map_of_foo.emplace(item._some_int, std::ref(item));
}

17 ответов

9 просмотров

храни в мапе индекс в массиве

Нафига тебе reference wrapper — тут достаточно просто указателя

Alexey-Khramov Автор вопроса
Ilya Zviagin
Нафига тебе reference wrapper — тут достаточно про...

ага, храни, а потом добавляй в вектор, а потом произойдет переаллокация и ты получих хуй

Alexey Khramov
Не хочу использовать указатели

Это тот случай, когда надо себя заставить...

Ilya Zviagin
Это тот случай, когда надо себя заставить...

ты херню советуешь, не надо хранить указатели на элементы вектора, это опасно

Anatoly Shirokov
ага, храни, а потом добавляй в вектор, а потом про...

Если произойдёт переаллокация, по-любому пздц настанет

Ilya Zviagin
Если произойдёт переаллокация, по-любому пздц наст...

если хранить индексы на элементы массива все будет заибись

Я как раз хотел уточнить про это вот "ПЕРЕЛОЖИТЬ" Тут перекладыванием и не пахнет даже. Так что же тебе надо-то?

Alexey-Khramov Автор вопроса
Anatoly Shirokov
храни в мапе индекс в массиве

О, крутое решение, спасибо

Нет, тут ничего не копируется

Alexey-Khramov Автор вопроса
Ilya Zviagin
Я как раз хотел уточнить про это вот "ПЕРЕЛОЖИТЬ" ...

Ну вообще - у меня не будет переаллокаций, так что это более менее именно переложить

Alexey-Khramov Автор вопроса
Ilya Zviagin
Нет, тут ничего не копируется

а когда я в форе делаю auto item, он же копирует элементы в item, нет?

Alexey-Khramov Автор вопроса
Ilya Zviagin
Ну напиши auto &

тогда не работает

Alexey Khramov
тогда не работает

Тогда показывай код, а не сказки.

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

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта