clean code
[add] c++ version
[upd] compile option