In this article the keyword extern can be followed by \"C\" or \"C++\". Why would you use \'extern \"C++\"\'? Is it practical?
The language permits:
extern "C" { #include "foo.h" }
What if foo.h contains something which requires C++ linkage?
void f_plain(const char *); extern "C++" void f_fancy(const std::string &);
That's how you keep the linker happy.