C ++中main的签名参数是否具有unsiged和const限定符?

这个问题在这里已经有了答案:

  • main()应该在C和C ++中返回什么? 19个答案

  • C ++ 98标准在第3.6.1节第2段中说过

    一个实现不应该预定义主函数。 该功能不得超载。 它应该有一个类型为int的返回类型,否则它的类型是实现定义的。 所有的实现都应该允许main的以下定义: int main()int main(int argc, char* argv[])

    所以这个标准没有规定env接受main是可以接受的,但它是允许的。


    因为这是经常提到的,这里是前面的一段文字来豁免独立环境,但记录它们的行为:

    程序应包含一个名为main的全局函数,它是程序的指定开始。 它是实现定义是否需要在独立环境中的程序来定义主要功能。 [注意:在独立环境中,启动和终止是实现定义的; 启动包含具有静态存储持续时间的命名空间范围对象的构造函数的执行; 终止包含具有静态存储持续时间的对象的析构函数的执行。 ]


    您必须使用符合标准的签名之一才能符合标准。

    我完全理解你为什么要按照自己的方式去做。 最好的方法是编写你自己的函数myMain()或任何你想要的签名,并从main()调用它,包括所需的强制转换。


    argv指针不应该是const char* const因为程序允许更改缓冲区。

    链接地址: http://www.djcxy.com/p/28715.html

    上一篇: Can the arguments of main's signature in C++ have the unsiged and const qualifiers?

    下一篇: Difference between void main and int main?