在c++
,this
是一個指針,但爲什麼我們可以用this.xxx
代表成員,而不是this->xxx
? this->xxx
應該是合適的, 但是爲什麼this.xxx
也行?在C++中,這是一個指針,但爲什麼我們可以用this.xxx代表成員,而不是這個 - > XXX
-7
A
回答
1
this.xxx
在C++中是不允許的。在訪問成員對象之前,所有包括this
(這是指向當前對象的指針)的指針都需要進行DE引用。 DE-引用一個指針是通過在C++中*
操作者作爲表達式
(*this).xxx
其也寫爲其中結合了一個操作員->
DE-參考和構件訪問作爲this->xxx
相反,C#
接受表示this.xxx
,其中這不是指針,而是對象的當前實例。
我相信,好奇你是從C#
沒有 - 至少從C++
使用this
作爲當前對象的實例的約定是在Java和C#相關的,所以我建議你到特定的符號重新驗證表達式的來源
相關問題
- 1. C中的這個指針是什麼?
- 2. 爲什麼這個C代碼示例使用指針指針?
- 3. 我遇到過一些C++代碼。爲什麼我們不得不在塊中使用*而不是這個?
- 4. 爲什麼Roslyn在這裏生成一個>比較而不是!=一個?
- 5. 爲什麼我們可以使用函數指針(* func_ptr)()和func_ptr()來調用一個函數,但是對於數組指針卻不是這樣?
- 6. C++:爲什麼這個智能動態指針不可用?
- 7. 什麼是指針 - 成員 - > *和。*運算符在C++中?
- 8. 爲什麼我可以用瀏覽器登錄這個表單,但不是LWP?
- 9. 我不知道這個「:」是否必要,這個「:」代表什麼
- 10. 這個C指針代碼是做什麼的?
- 11. 這個指針是什麼意思?
- 12. 爲什麼這個代碼在Vista中工作,但不是7?
- 13. 這個例子可以用指針而不是全局變量來完成嗎?
- 14. C++這是不是成員函數指針?
- 15. 爲什麼這個$類可以工作,$ this-> class不是?
- 16. 這個還是基地?在這種情況下,我們可以使用基地而不是這個?
- 17. 爲什麼我可以在Ubuntu中構建這個包(aspectC),但不是Cygwin?
- 18. C++如何刪除一個默認的對象成員,這是一個指針
- 19. 爲什麼我們不能引用指針,而是值
- 20. 爲什麼指針在這段代碼中工作而不是普通變量?
- 21. 爲什麼這個C++(cocos2d,box2d)示例給出一個指針而不是一個值?
- 22. C分配了指針?這是什麼?
- 23. 爲什麼在這個編程中使用指針指針?
- 24. 在這段C++代碼中指針的必要性是什麼?
- 25. Golang:爲結構成員分配一個值,這是一個指針
- 26. 爲什麼這個C代碼會產生一個double而不是float?
- 27. 爲什麼當我使用|時這個C代碼段錯誤而不是||?
- 28. 爲什麼調用這個方法而不是另一個?
- 29. 爲什麼這個C函數將一個指針指針作爲參數?
- 30. 爲什麼這個event.url工作而不是這個
是否編譯? – sgarizvi
在C++中不允許使用'this.xxx';你必須使用'this-> xxx'。 – Nitric
不要將Java與C++混淆。 – Mysticial