物聯網學習教程—const用法的體會
看到很多的朋友都有聊過 const 用法的體會,下面挺好小編就給大家做一個具體的介紹吧!我覺得寫的挺不錯的,分享給大家!
const
主要是為了程式的健壯型
,
減少程式出錯
.
最基本的用法
:
const int a=100; b
的內容不變
,b
只能是
100
也就是宣告一個
int
型別的常量
(#define b =100)
int const b=100; //
和上面作用一樣
const
指標和引用一般用在函式的引數中
int* m = &a; //
出錯
,
常量只能用常指標
int c= 1;const int*pc = &c;//
常指標可指向常量
const int* pa = &a; //
指標指向的內容為常量
(
就是
b
的值不變
)
int const *a = &b; //
指標指向的內容為常量
(
就是
b
的值不變
)*p=3//error
int* const a = &b; //
指標為常量
,
不能更改指標瞭如
a++
但可以改值
*p=3;
從這可以看出
const
放在
*
左側修飾的是指標的內容
,const
放在
*
右側修飾的是指標
本身
.
const
引用的用法和指標一樣
int const & a=b;
和指標一樣
const int& a=b;
和指標一樣
但沒有
int& const a=b
的用法因為引用不能做移位運算,但只是出個
warning
const int* const a = &b; //
綜合應用
,
一般用來傳遞多維的陣列
類如:
char* init[] = {"Paris","in the","Spring"};
void fun(const int* const a){}
fun(init)//
保護引數不被修改
int A(int)const; //
是常函式,只能用在類中,呼叫它的物件不能改改變成員值
const int A(); //
返回的是常量
,
所以必須這麼呼叫
cosnt int a=A();
int A(const int); //
引數不能改值
,
可用在任意函式
int A(const int*);
....
int height() const;//
常函式只能由常函式呼叫
int max(int,int) const;
int Max = max(height(),height());
const int* pHeap = new int;
delete pHeap;
p = NULL;//
出錯
我的解決辦法是強制型別轉換
const int* pHeap = new int(1);
delete (int*)pHeap;
pHeap = NULL;
目前我就遇到這些問題,那位還有補充的嗎?有的話大家可以留言哦!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69914734/viewspace-2654645/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 物聯網學習教程—Const用法和體會
- 物聯網學習教程—const關鍵字
- 物聯網學習教程——if語句
- 物聯網學習教程—檔案的定位
- 物聯網學習教程——switch語句
- 物聯網學習教程——if語句2
- 物聯網學習教程—字串與指標字串指標
- 物聯網學習教程——執行緒池執行緒
- 物聯網學習教程—列舉型別型別
- 物聯網學習教程—c++學習應該注意的點C++
- 物聯網學習教程—檔案的讀寫二
- 物聯網學習教程—檔案的讀寫一
- 物聯網學習教程——一維陣列的引用陣列
- 物聯網學習教程——二維陣列的引用陣列
- 物聯網學習教程—函式的返回值函式
- 物聯網學習教程—定義結構體型別變數的方法結構體型別變數
- 物聯網學習教程—多型的實現機制多型
- 物聯網學習教程——格式輸入與輸出
- 物聯網學習教程—— 執行緒私有資料執行緒
- 物聯網學習教程—用typedef定義型別型別
- 物聯網的學習路線
- 物聯網學習教程— 多維陣列與指標陣列指標
- 物聯網學習教程—函式引數和函式的值函式
- 前端學習筆記 - var、let和const的用法前端筆記
- 物聯網學習教程— 字元指標作函式引數字元指標函式
- 物聯網學習教程—常見錯誤和程式除錯除錯
- 物聯網時代,學習Web前端有哪些新機會?Web前端
- 物聯網學習教程——邏輯運算子和邏輯表示式
- 物聯網學習教程——執行緒同步與互斥:讀寫鎖執行緒
- 物聯網學習教程—Linux系統程式設計之程式介紹Linux程式設計
- 物聯網學習教程—Linux系統程式設計之多工實現(二)Linux程式設計
- 在物聯網中應用機器學習機器學習
- 學習日記——阿里雲物聯網平臺阿里
- 物聯網學習教程—Linux 可執行檔案結構與程式結構Linux
- 物聯網教程 demo1效果
- 入門教程的一些學習體會
- 【物聯網】物聯網時代,傳統企業終會奪回自己的天下!
- C++中const的用法C++