Why would you use 'extern “C++”'?

前端 未结 10 1446
失恋的感觉
失恋的感觉 2020-12-12 17:37

In this article the keyword extern can be followed by \"C\" or \"C++\". Why would you use \'extern \"C++\"\'? Is it practical?

10条回答
  •  陌清茗
    陌清茗 (楼主)
    2020-12-12 18:19

    Two guesses:

    • If you are in a extern "C" block, you can get C++ language linkage again by specifying a nested extern "C++".
    • It reserves C++ linkage, because it's the document defining C++. Who is in a better position for defining C++ language linkage than it itself. It also provides for completeness. Same deal as with signed/unsigned.

    Read this answer that explains extern "LanguageName" (i.e GCC has extern "Java") aswell.

提交回复
热议问题