成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux編程const使用詳細介紹

系統 Linux
如果const位于星號的左側,則const就是用來修飾指針所指向的變量,即指針指向為常量;如果const位于星號的右側,const就是修飾指針本身,即指針本身是常量。

Linux編程const使用詳細介紹

一、const基礎

如果const關鍵字不涉及到指針,我們很好理解,下面是涉及到指針的情況:

  1. int b = 500; 
  2.  
  3. const int* a = &b; [1] 
  4.  
  5. int const *a = &b; [2] 
  6.  
  7. int* const a = &b; [3] 
  8.  
  9. const int* const a = &b; [4] 

 

如果你能區分出上述四種情況,那么,恭喜你,你已經邁出了可喜的一步。不知道,也沒關系,我們可以參考《Effective c++》Item21上的做法,如果const位于星號的左側,則const就是用來修飾指針所指向的變量,即指針指向為常量;如果const位于星號的右側,const就是修飾指針本身,即指針本身是常量。因此,[1]和[2]的情況相同,都是指針所指向的內容為常量(const放在變量聲明符的位置無關),這種情況下不允許對內容進行更改操作,如不能*a = 3 ;[3]為指針本身是常量,而指針所指向的內容不是常量,這種情況下不能對指針本身進行更改操作,如a++是錯誤的;[4]為指針本身和指向的內容均為常量。

另外const 的一些強大的功能在于它在函數聲明中的應用。在一個函數聲明中,const 可以修飾函數的返回值,或某個參數;對于成員函數,還可以修飾是整個函數。有如下幾種情況,以下會逐漸的說明用法:

  1. A& operator=(const A& a); 
  2.  
  3. void fun0(const A* a ); 
  4.  
  5. void fun1( ) const; // fun1( ) 為類成員函數 
  6.  
  7. const A fun2( ); 

 

二 const的初始化

先看一下const變量初始化的情況

1) 非指針const常量初始化的情況:

  1. A b; 
  2.  
  3. const A a = b; 

 

2) 指針(引用)const常量初始化的情況:

  1. A* d = new A(); 
  2.  
  3. const A* c = d; 

 

或者:

  1. const A* c = new A(); 

引用:

  1. A f; 
  2.  
  3. const A& e = f; // 這樣作e只能訪問聲明為const的函數,而不能訪問一般的成員函數; 

 

[思考1]: 以下的這種賦值方法正確嗎?

  1. const A* c=new A(); 
  2.  
  3. A* e = c; 

 

[思考2]: 以下的這種賦值方法正確嗎?

  1. A* const c = new A();  
  2. A* b = c;  

 

責任編輯:龐桂玉 來源: 嵌入式Linux中文站
相關推薦

2009-08-26 17:31:59

C# const常量

2010-06-23 16:05:36

Linux Bash

2010-03-09 09:55:14

Linux mount

2011-06-21 10:37:56

const

2010-03-04 10:54:45

Linux telne

2010-03-04 11:07:24

Linux finge

2010-03-09 16:11:59

Linux重定向

2010-06-21 16:57:11

Linux Arch

2010-06-11 11:15:33

Linux編程工具

2010-06-02 09:01:20

Linux core

2011-06-28 11:06:16

Scala

2011-07-12 17:42:46

PHP

2011-07-20 13:57:06

C++STL

2011-07-22 14:55:20

多線程

2010-03-05 15:20:25

Linux man命令

2011-07-19 09:25:52

2010-03-02 14:01:58

Linux硬件信息命令

2010-01-05 16:56:28

2010-06-23 15:36:23

Linux Bug B

2009-12-11 15:59:00

Linux grep指
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本小电影在线 | 亚洲精品久久久久中文字幕欢迎你 | 免费的av网站 | 亚洲天堂一区二区 | 欧美黄色一区 | 亚洲欧美日韩在线不卡 | 老司机成人在线 | 日韩免费福利视频 | 久久久精品一区二区三区 | 欧美性受| 99精品在线观看 | 中文字幕在线观看一区二区 | 成人国产精品久久久 | 国产精品久久国产愉拍 | 久久精品亚洲一区 | 精品视频在线免费观看 | 国产1区2区3区 | 亚洲精品美女在线观看 | 日韩中文字幕在线观看 | 亚洲电影一区二区三区 | 国产精品一区二区三区四区 | 国产一区亚洲 | 五月综合色啪 | 久久久久久亚洲精品 | 欧美在线视频一区二区 | 国产精品视频免费播放 | 国内精品一区二区三区 | 久久久精| 久久久99精品免费观看 | 日本精品一区二区在线观看 | 免费av毛片 | 久久视频精品 | 欧美一区免费 | 国产无人区一区二区三区 | 国产精品久久久久久福利一牛影视 | 欧美专区在线视频 | 精品1区| 超碰男人天堂 | 国产区高清 | 国产黄色在线 | 久久午夜剧场 |