Size: a a a

2020 September 01

🦊

🦊fox.cpp in C++ Together 2.0
Обходя все эти хешмапы
источник

RM

Roy Mustang in C++ Together 2.0
🦊fox.cpp
У меня такой вот вопрос, где этот кэшмодуль и почему ты сразу туда не можешь указатель положить
Сразу не положишь - это трата памяти впустую
источник

RM

Roy Mustang in C++ Together 2.0
Нет гарантий что другие модули захотят юзать другой модуль
источник

RM

Roy Mustang in C++ Together 2.0
Поэтому если вызов GetModule<Type> будет выполнен, то для указанного Type будет создан кэш поинтер
источник

🦊

🦊fox.cpp in C++ Together 2.0
У тебя уже статически выделена память под указатель
источник

RM

Roy Mustang in C++ Together 2.0
🦊fox.cpp
У тебя уже статически выделена память под указатель
верно
источник

RM

Roy Mustang in C++ Together 2.0
Но только это шаблонная структура
источник

RM

Roy Mustang in C++ Together 2.0
Она на уровне компиляции видит вызываешь ты GetModule<Type> для какого либо типа или нет
источник

🦊

🦊fox.cpp in C++ Together 2.0
А трата у тебя - хешмапа, которая почти всегда занимает больше места, чем элементов, примерно в 4/3
источник

RM

Roy Mustang in C++ Together 2.0
Если да, то только тогда создает структуру
источник

RM

Roy Mustang in C++ Together 2.0
То что ты говоришь не прокатит мне кажется
источник

🦊

🦊fox.cpp in C++ Together 2.0
Ты прав, но я считаю существование хешмапы большей тратой чем кэшмодуль для всех
источник

RM

Roy Mustang in C++ Together 2.0
🦊fox.cpp
Ты прав, но я считаю существование хешмапы большей тратой чем кэшмодуль для всех
Не прокатит кэш указатель для всех, там надо чтоб где то указатель хранился на всего лишь один экземпляр класса
источник

RM

Roy Mustang in C++ Together 2.0
А если как ты предлагаешь делать, то это каждый раз новый объект создается, разве нет?
источник

RM

Roy Mustang in C++ Together 2.0
Дай-ка я подумаю чуть в уме
источник

🦊

🦊fox.cpp in C++ Together 2.0
Roy Mustang
А если как ты предлагаешь делать, то это каждый раз новый объект создается, разве нет?
Почему, указатель же статическим полем идёт
источник

RM

Roy Mustang in C++ Together 2.0
🦊fox.cpp
Почему, указатель же статическим полем идёт
Верно, только вот в каждом .dll он свой
источник

🦊

🦊fox.cpp in C++ Together 2.0
Которое определишь с extern в длл модуля
источник

🦊

🦊fox.cpp in C++ Together 2.0
Roy Mustang
Верно, только вот в каждом .dll он свой
Это зависит от linkage
источник

RM

Roy Mustang in C++ Together 2.0
🦊fox.cpp
Которое определишь с extern в длл модуля
Да не
источник