main()的链接是实现定义的意思是什么?

Des*_*tor 2 c++ function linkage

C++标准第3.6.1/3节说

main的链接是实现定义的

这是什么意思?为什么要定义实现?C也一样吗?

Ben*_*igt 6

因为main禁止引用该函数(如果引用整个规则main会有帮助),链接对用户代码完全没有影响:

函数main不得在程序中使用.链接main是实现定义的.一种程序,定义main为已删除或声明maininline,staticconstexpr是形成不良的.该名称main未另行保留.

Linkage控制名称可用的范围,main()函数的名称在任何地方都不能被代码使用,因此尝试使用链接标记它是没有意义的.