Con*_*tor 1 c++ program-entry-point one-definition-rule language-lawyer
main()
功能是否使用了?例如在像这样的简单程序中:
int main()
{
}
Run Code Online (Sandbox Code Playgroud)
不它不是.不在您的简单程序中.
[basic.def.odr]
3如果某个函数的唯一查找结果或一组重载函数的选定成员([basic.lookup],[over.match],[over.over]),则其名称显示为可能已计算的表达式的函数将被使用. ]),除非它是纯虚函数,并且其名称未显式限定或表达式形成指向成员的指针([expr.unary.op]).
main
不会出现在潜在的评估表达式中,因此它不会使用.此外,我们必须考虑以下事项:
[basic.start.main]
3函数main不得在程序中使用.
这是否适用于简单地调用 main或任何用途,这可能是值得商榷的,但它肯定会限制你main
在任何程序中使用odr的选择.
这是值得分析ODR使用时,它是牢记程序是ODR-使用实体(或不使用它们).外部力量(例如使用main
作为切入点的实施)不受该辩论的影响.
归档时间: |
|
查看次数: |
94 次 |
最近记录: |