Do I need to recompile blender when changing C++ Shaders for Cycles?
This is correct, C++ shaders in Cycles require rebuilding Blender.

Note that OpenShadingLanguage is compiled using LLVM, so it should yield fairly good performance and doesn't require rebuilding Blender,