[英]Is the main() function odr-used?
不它不是。 不在您的简单程序中。
[basic.def.odr]
3如果函数的名称是唯一的查找结果或一组重载函数的选定成员([basic.lookup],[over.match],[over.over]),则该函数的名称将显示为可能评估的表达式。 ]),除非它是纯虚函数且其名称未明确限定或表达式形成指向成员([expr.unary.op])的指针。
main
不会出现在可能评估的表达式中,因此不会被使用。 此外,我们必须考虑以下几点:
[basic.start.main]
3函数main不得在程序内使用。
这是否适用于简单地调用 main或进行任何使用,尚有待商,,但这无疑将您的选择限制为在任何程序中使用main
。
这是值得分析ODR使用时,它是ODR-使用实体程序牢记(或不使用它们)。 外部力量(例如使用main
作为切入点的实现)不受该辩论的约束。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.