I know there are tools for decompiling C# programs. Is using microsoft visual c++ make the code vulnerable for reverse engineering ?
What is the best tool and best programming language for hiding source code ? Or is there any ?
No, Microsoft C++ compiles to machine code.
While an extremely smart disassembler may be able to generate C++ code from the machine code, there's no way to ensure the generated code would match the original source code.