const 在C/C++的用法 - Welkin小窩- 痞客邦
文章推薦指數: 80 %
const的用法分為以下兩種: 1:在定義變量時使用: 總結:在使用const定義變量時,一定要進行初始化操作,在操作符(*,&)左邊的修飾的是指向的內容, ...
關閉廣告
Welkin小窩
跳到主文
柴米油鹽的平淡生活
部落格全站分類:不設分類
相簿
部落格
留言
名片
Jan09Wed201310:29
const在C/C++的用法
const的用法分為以下兩種:
1:在定義變量時使用:
總結:在使用const定義變量時,一定要進行初始化操作,在操作符(*,&)左邊的修飾的是指向的內容,在右邊的是本身。
a:constinta=100; 最簡單的用法,設定說明變數a是一個常數變數。
b:intconstb=100; 與a功能相同。
c:constint*a=&b; 指向常數的指針,即指針本身的值是可以改變的,但指向的內容是不能改變的。
d:intconst*a=&b; 與c功能相同。
e:int*consta=&b; 常數指針,即指針本身的值是不可改變的,但指向的內容是可改變的。
f:constint*consta=&b; 指向常數的常數指針,即指針本身與指向的內容都是不可改變的。
g:constint&a=100; 常數引用,即不能改變引用的值。
2:在函數用使用:
總結:在函數中使用const,情況與定義變數的情況大致相同。
a:voidfunc(constinta); 做為參數使用,說明函數內是不能修改該參數的。
b:constintfunc(); 做為返回值使用,說明函數的返回值是不能被修改的。
c:intfunc()const; 常數函數,說明函數是不能修改該類別中成員的值的,只能用於類別的成員函數中。
(應用原則)
1.
先左由右,看左邊最近的是何種datatype,若左邊沒有,則看右邊最近的。
2.
沿著*號劃一條線,
如果const位於*的左側,則const就是用來修飾指標所指向的變數,即指標指向為常量。
如果const位於*的右側,const就是修飾指標本身,即指標本身是常量。
範本
例一:constint*Constant1 -->constint(*Constant1)
例二:intconst*Constant2 -->intconst(*Constant2)
例三:int*constConstant3 -->(int*)constConstant3 -->const(int*)Constant3
例四:intconst*constConstant4 -->const(int*)constConstant4
解答
例一int值不可被修改
例二int值不可被修改
例三指標值不可被修改
例四int值與指標值皆不可修改
在下面這邊做個總結
記憶體的位置可以變動,但是記憶體的內容不能變動
constParent*pParent1=newSubA();
記憶體的位置可以變動,但是記憶體的內容不能變動
Parentconst*pParent2=newSubA();
記憶體的內容可以變動,但是記憶體的位址不能變動
Parent*constpParent3=newSubA();
記憶體的位址與內容都不能變動
constParent*constpParent4=newSubA();
記憶體的位置可以變動,但是記憶體的內容不能變動
constParentconst*pParent5=newSubA();
全站熱搜
創作者介紹
BB
Welkin小窩
BB發表在痞客邦留言(0)人氣()
E-mail轉寄
全站分類:不設分類個人分類:ProgramingC&C++此分類上一篇:stdin、stdout、stderr串流
此分類下一篇:const在成員函式中的用法
上一篇:FFMPEGdebugtrace
下一篇:const在成員函式中的用法
歷史上的今天
2013:const在成員函式中的用法
▲top
留言列表
發表留言
相簿幻燈片
文章分類
生活集錦(3)
影音歌詞(17)生活其它(4)媽媽寶寶(25)
SYSTEM(8)
Linux-Pre(9)Yocto(1)LinuxSystem(20)Embedded(19)LinuxKernel(24)UbuntuManage(8)LinuxDebug&Trace(2)Android(21)
Programing(3)
Trace&Debug(11)ProgramingC&C++(22)GNUC(12)
MultiMedia(3)
Video(20)mplayer(13)FFmpeg(14)
Computer(3)
系統安裝(5)常見問題(10)電腦基礎(3)
未分類文章(42)
文章搜尋
參觀人氣
本日人氣:
累積人氣:
月曆
«
六月2022
»
日
一
二
三
四
五
六
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
我的連結
回到頁首
回到主文
免費註冊
客服中心
痞客邦首頁
©2003-2022PIXNET
關閉視窗
延伸文章資訊
- 1c++中const的详细用法和const char*, char const*, char*const的 ...
const的详细用法和const char*, char const*, char*const的区别,const和define宏定义的区别一个电脑小白的自我成长之路,*_^下面的代码中编译器会报...
- 2[轉]C的關鍵字——const的理解和用法
C的關鍵字——const的理解和用法進入原貼 ... 這樣的理解是很片面的(下面用法方面將對這問題做探討)。 ... const char ch = 'a';
- 3C語言中的const,free用法詳解 - 程式人生
//const用法作為指標,const char* a,表示a是一個指向常量的一個指標,即常量的內容不能改變,但是指標a(a的值並不是a指向的常量)可以改變 // char* ...
- 4const 放置位置的意義@ 程式手扎:: 隨意窩Xuite日誌
C++中const用法總結 1. const修飾普通變數和指標const修飾變數, ... 對於A,C, const修飾的類型為char的變數*pContent為常量,因此,pContent的內...
- 5C語言const的用法詳解,C語言常量定義詳解 - 每日頭條
當一個指針變量str1 被const 限制時,並且類似const char *str1這種形式,說明指針指向的數據不能被修改;如果將str1 賦值給另外一個未被const 修飾的 ...