怎么計算一元十五次方程(五十個一元一次方程)
1056
2022-05-30
一般來說,C++ 有三個地方可以聲明變量:
在函數(shù)或一個代碼塊內(nèi)部聲明的變量,稱為局部變量。
在函數(shù)參數(shù)的定義中聲明的變量,稱為形式參數(shù)。
在所有函數(shù)外部聲明的變量,稱為全局變量。
從上面的定義來看C++全局變量與局部變量就很好區(qū)分了。局部變量只能被函數(shù)內(nèi)部或者代碼塊內(nèi)部的語句使用,而全局變量的值在程序的整個生命周期內(nèi)都是有效的。全局變量可以被任何函數(shù)訪問,在整個程序中都是可用的。
在程序中,局部變量和全局變量的名稱可以相同,但是在函數(shù)內(nèi),局部變量的值會覆蓋全局變量的值。
1.局部變量和全局變量的初始化
局部變量和全局變量的初始化是有區(qū)別的。當(dāng)局部變量被定義時,系統(tǒng)不會對其初始化,必須自行對其初始化。定義全局變量時,系統(tǒng)會自動初始化為下列值:
2.存儲類說明符
這些說明符放置在它們所修飾的類型之前,用于定義 C++ 程序中變量/函數(shù)的范圍(可見性)和生命周期:
auto:auto 存儲類是所有局部變量默認的存儲類
register:register 存儲類用于定義存儲在寄存器中而不是內(nèi)存中的局部變量。
static:static 存儲類指示編譯器在程序的生命周期內(nèi)保持局部變量的存在
extern:extern 存儲類用于提供一個全局變量的引用,全局變量對所有的程序文件都是可見的。
mutable:僅適用于類的對象,它允許對象的成員替代常量。也就是說,mutable 成員可以通過 const 成員函數(shù)修改。
3.static 修飾局部變量
static 存儲類指示編譯器在程序的生命周期內(nèi)保持局部變量的存在,而不需要在每次它進入和離開作用域時進行創(chuàng)建和銷毀。因此,使用 static 修飾局部變量可以在函數(shù)調(diào)用之間保持局部變量的值。
static 修飾符也可以應(yīng)用于全局變量。當(dāng) static 修飾全局變量時,會使變量的作用域限制在聲明它的文件內(nèi)。
在 C++ 中,當(dāng) static 用在類數(shù)據(jù)成員上時,會導(dǎo)致僅有一個該成員的副本被類的所有對象共享。
#include
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
編譯運行:
~/Desktop/c++$ g++ example02.cpp -o example02 ~/Desktop/c++$ ./example02 i = 6 count = 9 i = 7 count = 8 i = 8 count = 7 i = 9 count = 6 i = 10 count = 5 i = 11 count = 4 i = 12 count = 3 i = 13 count = 2 i = 14 count = 1 i = 15 count = 0
1
2
3
4
5
6
7
8
9
10
11
12
13
4.extern 存儲類
extern 存儲類用于提供一個全局變量的引用,全局變量對所有的程序文件都是可見的。當(dāng)使用 ‘extern’ 時,對于無法初始化的變量,會把變量名指向一個之前定義過的存儲位置。可以在文件中使用 extern 來得到在其他文件中已定義的變量或函數(shù)的引用。
support.cpp:
#include
1
2
3
4
5
6
7
8
main.cpp:
#include
1
2
3
4
5
6
7
8
9
10
11
編譯運行:
~/Desktop/c++$ g++ support.cpp main.cpp -o main ~/Desktop/c++$ chmod 754 main ~/Desktop/c++$ ./main count is 5
1
2
3
4
5.mutable
#include
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
編譯運行:
~/Desktop/c++$ g++ mutable.cpp -o mutable ~/Desktop/c++$ ./mutable name:Tom order:Burger tableNumber:3 bill:100 name:Tom order:Burger tableNumber:3 bill:34
1
2
3
4
5
6
7
8
9
10
const Customer c1("Tom","Burger",3,100);這一句將c1變量聲明為常量,說明c1初始化后,就不能再修改,c1調(diào)用任何非const函數(shù)都會報異常。如果調(diào)用const函數(shù)中,修改了非mutable變量,也會報異常。
mutable的使用場景就是讓const對象中的變量,也可以通過const函數(shù)修改。如果一個客戶訂餐,名字和臺號是不能改變,但是訂單bill會隨著點餐的變化而變化,也就是一個對象有些變量不能改變,有些變量需要改變。mutable就應(yīng)運而生了。
C 語言 C++
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。