除了声明、定义和预处理器指令之外,你不能有函数之外的代码。
该陈述是否准确,还是我遗漏了什么?我正在教我的侄子编程,他试图在 main 之前放置一个 while 循环。他还很年轻,我想给他一个简单的规则,他可以理解。
不完全——你也可以将表达式放在全局变量声明中:
int myGlobalVar = 3 + SomeFunction(4) - anotherGlobalVar;
但是你只能把表达式放在这里,它必须计算你初始化全局的值。您不能放置完整的语句(没有代码块、没有if
语句、没有循环等)。此代码将在main()
有机会运行之前执行,因此请小心您在此处执行的操作。我建议不要在全局初始化程序中调用函数,除非你无法避免。
是的,每一种做某事的语句都必须驻留在可以使用它的上下文中(这不适用于变量初始化)。
这是因为 C++ 是一种结构化的编程语言,它将其行为封装在过程中,而不是非结构化的语言,其中您只有一个级别的代码并且没有范围。
是的-您不能在函数之外粘贴随机可执行代码。
嗯,有命名空间……还有 Adam Rosenfield 提到的东西……还有可能是函数外部的异常 try/catch。不幸的是,我不记得语法,也无法用谷歌找到它。