ChaiScript is one of the first (and perhaps only) embedded scripting language designed from the ground up to directly target C++. Being a native C++ application, it has some advantages over existing embedded scripting languages:
It uses a header-only approach, which makes it easy to integrate with existing projects.
It maintains type safety between your C++ application and user scripts.
It supports a variety of C++ techniques including callbacks, overloaded functions, class methods, and stl containers.