【发布时间】:2026-02-03 12:15:01
【问题描述】:
在python中,我们有一个关键字nonlocal。和 C++ 中的static 一样吗?如果我们在python中有嵌套函数,而不是在内部函数中使用nonlocal,我们不能只在外部函数中声明变量吗?这样它就真的是nonlocal了。
澄清:static 关键字如下在 C++ 中使用:
#include <iostream>
int foo () {
static int sVar = 5;
sVar++;
return sVar;
}
using namespace std;
int main () {
int iter = 0;
do {
cout << "Svar :" foo() << endl;
iter++;
} while (iter < 3);
}
在迭代中给出输出:
Svar :6
Svar :7
Svar :8
所以,Svar 保留了它的价值。
【问题讨论】:
-
一些代码将有助于澄清。
static是一个关键字,其含义因上下文而异 -
好的,我会为
static的上下文添加一些代码。 -
...但是,这也可能是答案的一部分,但我觉得您在特定情况下指的是
static -
顺便说一句,它可以为比较不同语言的功能提供一些见解,但很少有两种不同语言的两个功能“相同”或等效。
标签: python c++ python-3.x programming-languages