C++ является статическим, скомпилированным языком, шаблоны разрешаются во время компиляции и так далее...
Но можно ли во время выполнения создать функцию, которая не описана в исходном коде и не была преобразована в машинный язык во время компиляции, чтобы пользователь мог бросить в нее данные, которые не были предусмотрены в исходном коде?
Я знаю, что это не может произойти простым способом, но, безусловно, это должно быть возможно, есть много языков программирования, которые не компилируются и динамически создают такие вещи, которые реализуются либо на C, либо на C ++.
Может быть, если будут созданы фабрики для всех примитивных типов,наряду с подходящими структурами данных для организации их в более сложные объекты, такие как пользовательские типы и функции, это достижимо?
Любая информация по теме, а также указатели на онлайн-материалы приветствуются. Спасибо!
ПРАВКА: Я знаю, что это возможно, это больше похоже на то, что меня интересуют детали реализации :)