Size: a a a

cxx.Дискуссионная

2020 March 28

Е

Егор in cxx.Дискуссионная
Ofee
А как там current_counter используется?
Это оффсет, только я не понял где он тут. declare struct запоминает текущее значение счётчика, а declare_field отнимает это значение от нового значения, чтоб в итоге нумерация с 0 шла
источник

Е

Егор in cxx.Дискуссионная
а во static constexpr int current_counter = __COUNTER__;
источник

RM

Roy Mustang in cxx.Дискуссионная
Насколько больше shared_ptr потребляет памяти чем обычные указатели?
источник

RM

Roy Mustang in cxx.Дискуссионная
Представим что у меня может быть 2000-3000 объектов shared_ptr
источник

RM

Roy Mustang in cxx.Дискуссионная
Сколько жрет shared_ptr и насколько он уступает в производительности обычным указателям
источник

O

Ofee in cxx.Дискуссионная
Roy Mustang
Насколько больше shared_ptr потребляет памяти чем обычные указатели?
Если ты будешь следить за выделением памяти вручную, ты всё-равно потратишь память... Впрочем, память тратить не придётся, если не чистить её...
источник

RM

Roy Mustang in cxx.Дискуссионная
Ofee
Если ты будешь следить за выделением памяти вручную, ты всё-равно потратишь память... Впрочем, память тратить не придётся, если не чистить её...
У меня же map'а
источник

RM

Roy Mustang in cxx.Дискуссионная
Я думал хранить тупо объект класса или shared_ptr на этот объект
источник

RM

Roy Mustang in cxx.Дискуссионная
Собственно, может появиться вопрос, а зачем тут вообще shared_ptr если там мапа
источник

RM

Roy Mustang in cxx.Дискуссионная
Дело в том, что я планировал так же хранить указатель на объект класса, который лежит в мапе и в самих объектах другого класса, которые по сути рождаются от характеристики класса что лежит в мапе
источник

RM

Roy Mustang in cxx.Дискуссионная
Вот допустим, у меня есть объект класса CItemBase, который хранит основные характеристики Item'ов, а так же есть класс Item, который описывает итемы у игроков, вот Item должен по ID уметь находить свои базовые настройки из CItemBase
источник

RM

Roy Mustang in cxx.Дискуссионная
И я подумал, что чем постоянно в мапе делать поиск, быстрее было бы использовать хранение указателя на его CItemBase в самом Item
источник

RM

Roy Mustang in cxx.Дискуссионная
чем хранить некий ID и делать в мапе постоянно find
источник

O

Ofee in cxx.Дискуссионная
Roy Mustang
У меня же map'а
Храни std::unique_ptr
источник

RM

Roy Mustang in cxx.Дискуссионная
Ofee
Храни std::unique_ptr
Он же уникальный владелец
источник

RM

Roy Mustang in cxx.Дискуссионная
Как я буду с item указывать на CServerBase
источник

RM

Roy Mustang in cxx.Дискуссионная
Получается, что два unique_ptr будут пытаться завладеть одним объектом
источник

O

Ofee in cxx.Дискуссионная
Roy Mustang
Как я буду с item указывать на CServerBase
А зачем, работай со ссылкой на указатель
источник

O

Ofee in cxx.Дискуссионная
Ofee
А зачем, работай со ссылкой на указатель
Наверное, так получится
источник

RM

Roy Mustang in cxx.Дискуссионная
Ofee
А зачем, работай со ссылкой на указатель
а тут еще одна проблема
источник