【部落格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++】1.函式傳入指標加const的作用及用法區別C++函式指標
- 常見指標型別入門指標型別
- 部落格測試
- 【C++系列】指標物件和物件指標的區別C++指標物件
- go 方法接受者 是指標型別和非指標型別的 區別Go指標型別
- c指標型別的作用指標型別
- Go: 指標方法與值方法<->指標型別與值型別Go指標型別
- All I know about A/B Test (1) : 均值型指標與比值(率)型指標的計算區別指標
- c部落格作業05--指標指標
- c++指標傳遞與引用傳遞C++指標
- 1-7 C++指標C++指標
- C++ 成員函式指標簡單測試C++函式指標
- C++ 成員資料指標成員函式指標簡單測試C++指標函式
- 效能測試之測試指標指標
- C++編譯器認為的指標型別(靜態聯編)C++編譯指標型別
- C++中傳指標和傳引用的區別,各自的使用場景是什麼C++指標
- 效能測試指標指標
- 型別的本質:對變數、型別、指標的理解型別變數指標
- golang 指標型別引起的神奇 bugGolang指標型別
- golang中 值型別,指標,引用的區別Golang型別指標
- 詳解c++指標的指標和指標的引用C++指標
- 測試部落格園皮膚
- 新增一篇測試的部落格
- 大話效能測試系列(1)- 效能測試概念與主要指標指標
- C++ const void * 型別轉換簡單測試C++型別
- 效能測試有哪些指標需要測試?指標
- [雪峰磁針石部落格]滲透測試簡介1滲透測試簡介
- c# 呼叫 C++ dll 傳入傳出型別對應說明(轉)C#C++型別
- C++中的this指標C++指標
- C++ this 指標C++指標
- C++ 指標C++指標
- 網路安全滲透測試的型別!滲透測試入門教程型別
- 部落格1
- 測試標準1
- 第十五章:指標型別指標型別
- [雪峰磁針石部落格]軟體測試專家工具包1web測試Web
- 第 10 節:複合型別-5. 指標 -- 指標與指標變數 -8. 多級指標型別指標變數
- 網路測試儀測試交換機的基本指標指標