[問題] 對static的一點疑問
看板C_and_CPP (C/C++)作者darklady (Sylvanas)時間16年前 (2009/01/29 21:47)推噓0(0推 0噓 1→)留言1則, 1人參與討論串1/2 (看更多)
1 #include <iostream>
2 using namespace std;
3
4 size_t count_calls()
5 {
6 static size_t ctr = 0;
7 return ++ctr;
8 }
9 int main()
10 {
11
12 for (size_t i = 0; i != 10; ++i)
13 cout << count_calls() << endl;
14
15 }
這樣的程式跑出來的結果為什麼會是
1
2
3
4
5
6
7
8
9
10
我以為會是
1
1
1
1
1
1
1
1
1
1
不是每次呼叫函數的時候都被 = 0了嗎?
我知道static size_t ctr是一直存在的
是不是宣告、定義不包含賦值呢?
不好意思問這麼新手的問題,因為書上沒有說的很清楚
麻煩大家了。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.161.222.220
→
01/29 21:48, , 1F
01/29 21:48, 1F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章