问个关于标准的有关问题
问个关于标准的问题
C++通过初始化类可以在主函数开始之前运行函数
为什么不干脆允许在函数体外直接执行函数呢?
------解决方案--------------------
就你的代码,也不能在main以前执行。
得在main中定义一个A对象,调用构造函数才能执行。
------解决方案--------------------
因为当初就这么规定来着了,多简单的答案啊。
------解决方案--------------------
哦,看到了,因为你定义了A a;嘛。当然调用构造函数了。
------解决方案--------------------
全局变量在main之前被初始化。
你在main外面写代码,那算什么。
C++通过初始化类可以在主函数开始之前运行函数
#include <stdio.h>
void P(){printf("a\n");}
class A{ public: A(){P();} };
A a;
//P(); 错误
int main()
{printf("main");}
为什么不干脆允许在函数体外直接执行函数呢?
------解决方案--------------------
就你的代码,也不能在main以前执行。
得在main中定义一个A对象,调用构造函数才能执行。
------解决方案--------------------
因为当初就这么规定来着了,多简单的答案啊。
------解决方案--------------------
哦,看到了,因为你定义了A a;嘛。当然调用构造函数了。
------解决方案--------------------
全局变量在main之前被初始化。
你在main外面写代码,那算什么。