Size: a a a

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

2020 April 23

RM

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

/dev/urandon ¯\_(ツ)_... in cxx.Дискуссионная
Roy Mustang
Да, это какая та геморная задача для статический типизированного языка, пляски с бубном
но эта задача решается в 3-4 строки с полной сигнатурой и реализацией
источник

/dev/urandon ¯\_(ツ)_... in cxx.Дискуссионная
Roy Mustang
Ты имеешь в виду использовать индексы с диска, как смещение? array[index] ?
подсказка: в array[index] нужно хранить указатель на функцию с нужной сигнатурой
источник

/dev/urandon ¯\_(ツ)_... in cxx.Дискуссионная
сигнатура общая для всех коллбеков в array
источник

Е

Егор in cxx.Дискуссионная
/dev/urandon ¯\_(ツ)_/¯
сигнатура общая для всех коллбеков в array
я походу такое же делал
источник

/dev/urandon ¯\_(ツ)_... in cxx.Дискуссионная
Егор
я походу такое же делал
да много кто делал, о том и речь, что для довольно распространённого кейса все пишут свои велосипеды
источник

RM

Roy Mustang in cxx.Дискуссионная
Я такие проблемы решал с помощью EnTT
источник

RM

Roy Mustang in cxx.Дискуссионная
Он позволяет классы, в качестве компонентов пихать
источник

RM

Roy Mustang in cxx.Дискуссионная
Вообще, он много чего позволяет)
источник

/dev/urandon ¯\_(ツ)_... in cxx.Дискуссионная
Roy Mustang
Я такие проблемы решал с помощью EnTT
решить легко, челлендж в том, чтобы сделать это максимально дёшево
источник

/dev/urandon ¯\_(ツ)_... in cxx.Дискуссионная
идеально, нулевой ценой
источник

RM

Roy Mustang in cxx.Дискуссионная
/dev/urandon ¯\_(ツ)_/¯
решить легко, челлендж в том, чтобы сделать это максимально дёшево
Дешевле constexpr ничего не может быть
источник

/dev/urandon ¯\_(ツ)_... in cxx.Дискуссионная
Roy Mustang
Дешевле constexpr ничего не может быть
да не может быть у тебя constexpr в рантайме =)
источник

/dev/urandon ¯\_(ツ)_... in cxx.Дискуссионная
это же чисто статическая сущность
источник

RM

Roy Mustang in cxx.Дискуссионная
/dev/urandon ¯\_(ツ)_/¯
да не может быть у тебя constexpr в рантайме =)
Почему нет? Entity создается в constexpr, класс Foo,Bar тоже, а уже когда callback для чтения вызвался в runtime заполняешь
источник

RM

Roy Mustang in cxx.Дискуссионная
Как раз array будет хранить в себе по смещению uint32_t значение (тип entt::entity имеет тип uint32_t)
источник

RM

Roy Mustang in cxx.Дискуссионная
По индексу получаешь entt::entity и запрашиваешь любые данные из EnTT
источник

RM

Roy Mustang in cxx.Дискуссионная
Ладно, пойду работать
источник

/dev/urandon ¯\_(ツ)_... in cxx.Дискуссионная
Roy Mustang
Да, это какая та геморная задача для статический типизированного языка, пляски с бубном
крч, что-то такое
https://godbolt.org/z/-CGJDf
источник

Е

Егор in cxx.Дискуссионная
тут не 4 строки
источник