【部落格1】c++測試this指標的傳入及型別
內容一:this指標的型別
測試程式碼:
測試結果:
結果分析:由於typeid測試型別時,const與非const沒有區分,所以結果少了const
真正型別應該是:型別*const
內容二:測試this指標作為類成員函式的形參情況
測試分析: 常見的函式呼叫規則有:cdecl,thiscall,fastcall,stdcall
其中對c++類成員函式的呼叫是採用thiscall,且this指標會通過ecx暫存器傳入成員函式
測試程式碼:
除錯檢視反彙編結果:
彙編結果分析:
1.對普通成員函式的呼叫,this指標會通過ecx暫存器傳入,而對靜態成員函式則不會。可以看到在call呼叫前普通成員函式將this指標由ecx暫存器傳入,但是在呼叫靜態成員函式的時候,call之前並沒有傳入this指標。
2.這也是靜態成員函式無法使用物件的資料成員的原因
3.普通成員函式中當形參跟資料成員重名的時候需要用this指標指明使用的是哪一個,否則使用的是你的形參而不是類的資料成員。
大三學生一枚,文章均非抄襲或者模仿,均為原創,僅代表個人觀點,如果文章有錯誤的地方,歡迎在下方提出,每條評論我都會去認真看並回復,同時感謝指正的前輩。
相關文章
- 部落格測試
- 詳解c++指標的指標和指標的引用C++指標
- 【C++系列】指標物件和物件指標的區別C++指標物件
- 型別的本質:對變數、型別、指標的理解型別變數指標
- 【C/C++】1.函式傳入指標加const的作用及用法區別C++函式指標
- C++ 指標陣列與陣列指標的區別C++指標陣列
- 部落格園css測試CSS
- 空指標的傳說指標
- C/C++指向指標的指標C++指標
- All I know about A/B Test (1) : 均值型指標與比值(率)型指標的計算區別指標
- 測試部落格園皮膚
- C/C++引用和指標的聯絡和區別C++指標
- 【C++注意事項】1 資料型別及型別轉換C++資料型別
- Oracle DB 壓力測試相關效能指標及達到指標的方法Oracle指標
- 關於指標傳遞和指標的指標指標
- 引用與指標的區別指標
- C++ 中 this 指標的用法詳解C++指標
- C++引用比指標的好處C++指標
- C++引用與指標的比較C++指標
- [雪峰磁針石部落格]滲透測試簡介1滲透測試簡介
- 指標常量和常量指標的區別指標
- 讀讀objc原始碼(二):weak型別指標的實現OBJ原始碼型別指標
- 新增一篇測試的部落格
- [雪峰磁針石部落格]軟體測試專家工具包1web測試Web
- AI 演算法測試客觀指標的選擇策略AI演算法指標
- C++ 返回函式指標的函式C++函式指標
- C++中智慧指標的簡單使用C++指標
- 【C++】智慧指標的正確使用方式C++指標
- C++ 引用計數技術及智慧指標的簡單實現C++指標
- 指標問題的一點體會(區別 [指向指標的指標] 與 [指標的指標] .) (轉)指標
- 測試Windows Live Writer 釋出 csdn 部落格Windows
- C++基本資料型別及型別轉換C++資料型別
- C++指標的概念解讀 超詳細C++指標
- C++與Rust操作裸指標的比較C++Rust指標
- C++中智慧指標的設計和使用C++指標
- C/C++中函式指標的含義C++函式指標
- [C++ Daily] 虛表與虛指標的理解C++AI指標
- c# 呼叫 C++ dll 傳入傳出型別對應說明(轉)C#C++型別