有關引用以及LoadBitmap幾個容易混淆的問題

發表于:2007-07-01來源:作者:點擊數: 標簽:
1 :int abc() ;函數中 是什么作用? int x = 0; int a(int i) { i = - 1;。 return x ; } main() { int j=10; a(j)=100; //這時候j = -1,x = 100.了 } 就是這樣子,返回引用的話就是返回一個變量的地址里面的內容,就是真正地返回這個變量本身拉,它可以用

1:int& abc();函數中&是什么作用?

 

int x = 0;

int &a(int &i)

{

       i = - 1;。

       return x ;

}

main()

{

int j=10;

a(j)=100; 

//這時候j = -1,x = 100.了

}

就是這樣子,返回引用的話就是返回一個變量的地址里面的內容,就是真正地返回這個變量本身拉,它可以用作左值,以改變返回的引用的變量的值,j在進入函數后,函數中i和函數外的j是一個變量,返回的值和x是一個變量,所以,經過賦值以后j、x的值變化,在操作符重載=號中這種方式要經常用到,所以掌握這個知識還是很有必要di。

2:CBitmap::LoadBitmap( LPCTSTR lpszResourceName )參數到底是什么意思?

 

先看一個例子:

CBitmap bitmap;

bitmap.LoadBitmap(MAKEINTRESOURCE(IDB_BITMAP1));

MAKEINTRESOURCE的定義是(LPSTR)((DWORD)((WORD)(i)))就是把ID轉化成unsigned short int再轉換成unsigned long然后再強制轉化成字符串。這個LPCTSTR參數根本不是一個文件名,只是一個資源ID的強制轉化。

 

3:CList<int,int&>和CList<int int>有什么區別?

 

"加&主要是為了提高以大型對象為參數時的效率"

對一個大型對象,如果以傳值方式傳遞參數,則整個對象要被復制一份,有可能花很多時間,因此CList讓它接受的參數類型也可以定制,這就解決了上面的問題

 

 

二者在行為表現上沒有任何區別,有區別的僅僅是參數的使用而已


原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97