(1)this指標的含義及其用法:
1. this指標是乙個隱含於每乙個成員函式中的特殊指標。它指向正在被該成員函式操作的那個物件。
2. 當對乙個物件呼叫成員函式時,編譯程式先將物件的位址賦給this指標,然後呼叫成員函式,每次成員函式訪問資料成員時,由隱含使用this指標。
3. 當乙個成員函式被呼叫時,自動向它傳遞乙個隱含的引數,該引數是乙個指向這個成員函式所在的物件的指標。
4. 在c++中,this指標被隱含地宣告為: x *const this,這意味著不能給this 指標賦值;
在x類的const成員函式中,this指標的型別為:const x* const, 這說明this指標所指向的這種物件是不可修改的(即不能對這種物件的資料成員進行賦值操作);
5. 由於this並不是乙個常規變數,所以,不能取得this的位址。
6. 在以下場景中,經常需要顯式引用this指標
(1) 為實現物件的鏈式引用(如例1);
(2) 為避免對同一物件進行賦值操作(如例2);
(3) 在實現一些資料結構時,如list.
7. 舉例:
//例1:
/* file: person.cpp */
#include
#include
class person ***type;
public:
person(char *n, int a, ***type s)
int get_age(void) const
person& add_age(int a)
private:
char *name;
int age;
***type ***;
};void testperson(void)
int main(void)
/* result:
zhangsan.age = 20
zhangsan.add_age = 21
*///例2:
/* file: location.cpp */
#include
class location ;
void assign(location& pointer);
int getx()
int gety()
};void location::assign(location& pointer)
}int main()
/* result:
x.x = 5, x.y = 4
y.x = 5, y.y = 4
*/(2)memcpy用來做記憶體拷貝,你可以拿它拷貝任何資料型別的物件,可以指定拷貝的資料長度.
strcpy就只能拷貝字串了,它遇到'\0'就結束拷貝.
explain用法和結果的含義
idselect識別符。這是select的查詢序列號 select typeselect型別,可以為以下任何一種 table輸出的行所引用的表 type聯接型別。下面給出各種聯接型別,按照從最佳型別到最壞型別進行排序 possible keys指出mysql能使用哪個索引在該表中找到行 key顯示m...
mysql explain用法和結果的含義
詳細可參考 explain顯示了mysql如何使用索引來處理select語句以及連線表。可以幫助選擇更好的索引和寫出更優化的查詢語句。使用方法,在select語句前加上explain就可以了 如 explain select surname,first name form a,b where a.i...
python m引數的含義和用法
python m line profiler test.py.lprof由於個人比較好奇,我就多方查閱資料,但網上各位大佬的部落格寫的可能有點深奧,同時也並未清晰明了地展示其能達到功能,我還是花了好久才最終終於大概弄懂了這個 m的含義以及到底它有什麼用。當然這可能也是因為我的理解能力較差,吼吼吼。今...