我读过了
但是,我还没有找到答案的一个问题:使用extern "C"(例如,尽可能多的函数)是否存在(可能,未来)缺点?
更具体一点:添加extern "C"接口仅使用C功能的函数是否有任何缺点; 换句话说,那些不使用@ k-five答案中列出的功能的人?
缺点是您只能在界面中使用功能,这些extern "C"功能也可用于C功能.
这意味着:
1.你不能使用函数参数的默认值,
2.你不能使用引用参数,
3.你不能通过值传递C++类(包括智能指针),
4.你无法通过enum class参数,
5.你不能在bool没有转换的情况下通过int,
6.你不能超载这些功能,而且可能更多我目前无法回想起来.