É possível criar uma função dinamicamente, durante o tempo de execução em C ++?

C ++ é uma linguagem compilada estática, os modelos são resolvidos durante o tempo de compilação e assim por diante ...

Mas é possível criar uma função durante o tempo de execução, que não esteja descrita no código-fonte e não tenha sido convertida em linguagem de máquina durante a compilação, para que um usuário possa lançar dados que não tenham sido previstos na origem?

Estou ciente de que isso não pode acontecer de maneira direta, mas certamente deve ser possível, existem muitas linguagens de programação que não são compiladas e criam esse tipo de coisa dinamicamente que são implementadas em C ou C ++.

Talvez se fábricas para todos os tipos primitivos forem criadas, juntamente com estruturas de dados adequadas para organizá-las em objetos mais complexos, como tipos de usuários e funções, isso é possível?

Qualquer informação sobre o assunto, bem como indicações para materiais on-line são bem-vindas. Obrigado!

EDIT: Estou ciente de que é possível, é mais como eu estou interessado em detalhes de implementação :)

questionAnswers(13)

yourAnswerToTheQuestion