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

Linux編程const使用詳細介紹

系統(tǒng) 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] 

 

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

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

  1. A& operator=(const A& a); 
  2.  
  3. void fun0(const A* a ); 
  4.  
  5. void fun1( ) const; // fun1( ) 為類成員函數(shù) 
  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的函數(shù),而不能訪問一般的成員函數(shù); 

 

[思考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-07-12 17:42:46

PHP

2011-07-22 14:55:20

多線程

2011-06-28 11:06:16

Scala

2011-07-20 13:57:06

C++STL

2010-03-02 14:01:58

Linux硬件信息命令

2010-03-05 15:20:25

Linux man命令

2011-07-19 09:25:52

2011-07-20 16:57:05

C++const

2010-01-05 16:56:28

2010-06-23 15:36:23

Linux Bug B
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: a级大毛片 | 久久九精品 | 国产一级片免费在线观看 | 日韩欧美一级精品久久 | 国产午夜精品视频 | 国产精品无码专区在线观看 | 成人性生交大片免费看r链接 | 中文字幕在线三区 | 99精品视频一区二区三区 | 久久人体| 国产欧美日韩综合精品一区二区 | 久久久黑人| 久久久久久久久久久久久久av | 国产真实精品久久二三区 | 国产精品久久久久久久久免费樱桃 | 国产高清在线精品 | 精品毛片 | 中文字幕一区二区三区不卡 | 91在线视频观看 | 国产视频91在线 | 国产精品视频一二三 | 成人欧美一区二区三区色青冈 | 古装人性做爰av网站 | 国产亚洲网站 | 久久久久一区 | 久久久91| 大乳boobs巨大吃奶挤奶 | 成人在线视频免费观看 | 久久一区二区三区四区 | a级黄色片在线观看 | 日韩无 | 久久成人精品视频 | 日本一区二区视频 | 天天操 夜夜操 | 在线日韩| 日韩精品色网 | 蜜桃av一区二区三区 | 一a一片一级一片啪啪 | 亚洲九九色 | 亚洲成人av在线播放 | 成人av久久|