C++/C?е?extern??static
???????????? ???????[ 2014/2/19 10:06:42 ] ????????C++ static exern
????exern
????extern???????????????????????????????????????????????????У??????????????????????????????????????????塣????extern????????????????????
??????????????????д??й????extern????????????????????????????????壬??????????á?
????extern "C"
????C++?????????????????????????????????????????????????????????м????????????C??????????????????????????????????????????C?????????extern "C"???????????????仰????????????????????????????????????????????м亯??????
????????仰??????extern "C"?????????????C++??C????????????????
????static
????static???η????????????????????????????ù???????磬???????????
????static int a;
?????京???????????????
????int a;
???????????a??????????????????????????????????????a???????????????????????????????????????????????Щ???????????????У???????????????????????????????????static???η???????
????static???η???????????????????????????????????f????????????????g????????к???f??????ú???g?????????????f????g??????????????У?????????????g?
static??
static int
g(int x)
{
}
void f() {
b=g (a);
}
????????????????????ж???????????g???????е????g?????????static???????????????????????g????static o???????????????????????????????????????????????????е??????????????????????????ú????static??
????static????
??????C???????У?static?????????????????Σ?
?????????????????????????????????????????е?????????????????????壬???????????е??Щ???????????????????е????????????????????ú?????????????????static?????????????????????е??????á?
????????C++?У???static?????????????????б????????C++??????????ε?????——class????????е?private????????????????????????
?????????C/C++??????????????static????????????????????????????Σ?
????int fun() {
????static int a = 1;
????a++;
????}
?????????ν???????????????????a????????1????????????1??
?????????ν???ú?????a??????γ?????????????????1???????
??????static???????????????????????????????????
????int a = 1;
????int fun() {
????a++;
????}
?????????a????п?????????????????
???????????е?static???????????
????????洢????????????????????????????????????????
#include <iostream>
using namespace std;
class A {
public:
static int num; // ???????????????
A () {num++}; // ???????????????num????1
// ???????????????????????A??????????
static int how_many_instance() {
return num;
}
}
static A::num = 0; // ??????????????????????????
int main() {
cout << A::how_many_instance() << endl;
A a?? b?? c?? d;
cout << A::how_many_instance() << endl;
system("pause");
}
??????
![](/images/ad-banner/ad-banner.png)
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11