int a =10;
int&b = a;
// b就是a的別名
b =200
;// 修改變數a中的內容
printf
("&a = %d \n &b = %d \n"
,&a,
&b);
// a 與 b 的位址是相同的
/* 在c中相當於以下效果 */
int*
const b =
&a;*b =
200;
1.1 普通引用 舉例void
swap
(int
&a,int
&b)
1.2 引用所佔空間大小/* qt64位環境測試 */
struct mytype
;/* 列印結果: */
void
printsize()
結論:實際引用所佔空間大小與指標型別所佔空間相同。32位系統佔4位元組, 64位系統佔8位元組1.3 引用的本質1.4 函式返回值是引用
函式返回值是區域性變數當引用
/* qt64位 環境測試 */
#include
intgetvaluea()
int&
getvalueb()
intmain
(int argc,
const
char
*ar**)
函式返回值是static變數當引用/* qt64位環境測試 */
#include
intgetvaluea()
int&
getvalueb()
intmain
(int argc,
const
char
*ar**)
1.5 指標引用#include
"iostream"
using
namespace std;
struct teacher
;// 1.c語言中的二級指標
intgetteacher1
(teacher *
*p)
teacher *tmp =
(teacher *
)malloc
(sizeof
(teacher));
if(tmp ==
null
)
tmp-
>age =33;
*p = tmp;
}// 2.c++中的指標引用
intgetteacher2
(teacher*
&pt)
pt->age =40;
}// 釋放記憶體
void
freeteacher
(teacher *pt1)
free
(pt1);}
intmain
(int argc,
const
char
*ar**)
結論:指標引用可以理解為c語言中的 二級指標
作用:讓引用 唯讀屬性, 不能通過引用修改變數2.1 常引用基本形式
int a =10;
const
int&b = a;
b =20
;// 編譯器報錯... 修改不了記憶體中的值
2.2 常引用初始化const
int a =10;
// c++編譯器將a放在符號表中
int&b =10;
const
int&c =10;
// 編譯通過:c++編譯器會分配記憶體空間
2.3 常引用做函式引數int
printinfo
(const teacher &t)
// 擁有唯讀屬性,函式內不能修改內容
☚
寫文不易 且行且珍惜☛
☚mrwang☛
函式探幽(3) 引用(3)
3.1.將引用用於結構 引用非常適合用於結構和類,而引入引用的目的也是為了用於這些型別。有如下結構定義 struct free throws 則可以這樣編寫函式原型 void set pc free throws ft 如果不希望函式修改傳入的機構,可使用const void display con...
MongoDB學習筆記(3)引用
嵌入式關係,db.users.findone 注意 以上查詢中 db 和 users 表示資料庫和集合。這種資料結構的缺點是,如果使用者和使用者位址在不斷增加,資料量不斷變大,會影響讀寫效能。引用式關係這種方法需要兩次查詢,第一次查詢使用者位址的物件id objectid 第二次通過查詢的id獲取使...
XSLT之路3 引用外部類
引用外部類 1.定義乙個類 2.定義乙個xslt 3.c 匯入urn mypolicy 4.指令碼呼叫外部類 1.定義乙個類 保單 public class policy 2.定義乙個xslt 申明乙個命名空間 xsl stylesheet version 1.0 xmlns xsl xmlns m...