在書C++ Templates - The Complete Guide的示例pointers/countingptr.hpp中,派生依賴項class CountingPtr
的成員使用this
指針引用。爲什麼在這個例子中需要this
?我知道this
指針是必需的,以命名從屬基類模板的成員。當然,this
指針在依賴派生類模板中也不是必需的嗎?在依賴派生類模板中使用該指針
回答
我相信這只是一個製作此代碼的人的風格。有些人更喜歡把this->
放在任何與該班級內的班級有關的人面前。確實可以有時,如果你正在做的有趣的事情就像是有用的:
void foo(int a)
{
this->a = a;
}
,或者如果你只是覺得這增加了可讀性。 但是,如果使用太多,這將是一個爛攤子:
this->a = this->b * this->c - this->foo(this->d, this->bar());
不需要。有些人到處都使用this
。
奇怪。這是書中第一次作者決定「明確」這個詞。潘打算。 – Olumide 2012-07-19 12:45:02
如果你總是使用'this',那麼你不會忘記它的依賴基礎成員。 – curiousguy 2012-07-22 01:22:22
在依賴派生類
在什麼不是必需的?
沒有「依賴派生類」。派生類是派生類。
派生類模板
它是一個類模板,但它解析爲一個類。
認爲它是這樣的:
它不是一個類模板,只是一個類(A類)。類模板專業化,但仍然是一個類,就像一個普通的類。
或者這樣說:
派生類模板實例具有「神奇的懶惰型」的說法。這個懶惰的類型參數會暫停依賴它的任何表達式的編譯。
- 1. C++相互依存的類模板,指針鑄造派生類
- 2. 模板繼承類派生基指派
- 3. 派生類依賴函數
- 4. 在目標c中指派派生類的基類指針
- 5. 何時使用派生類指針和基類指針
- 6. 派生類的基指針
- 7. 從基指針溯造型到模板派生類型
- 8. 在派生類模板
- 9. C++ - 基類指針,方法指針,引用派生類,方法?
- 10. 派生類型及其依賴
- 11. 指向基類數組的指針,使用派生類填充
- 12. 派生類指針指向的函數
- 13. 指向派生類C++的指針
- 14. 將指針基類轉換爲指向派生類的指針
- 15. C++ dynamic_cast基類指向派生類指針的指針
- 16. 在Fortran中使用派生類型指針和多態目標
- 17. Python類依賴模板?
- 18. 使用基類的模板參數在派生類中
- 19. 從模板類派生?
- 20. C++模板和派生類
- 21. 模板化基類中的派生類
- 22. 無法使用基類指針調用派生類函數
- 23. JNI指針依賴的設計模式
- 24. 將基類指針轉換爲未知的派生類指針
- 25. 派生類和基類之間指針指針的轉換?
- 26. C++派生類的劇組成員指針到基類指針
- 27. 通過基指針訪問派生類中的模板化函數
- 28. D指針/ pimpl模式基類指針訪問派生類成員
- 29. 應該使用指針來減少頭依賴關係嗎?
- 30. 多態性:基於模板的派生類的非模板化基礎,使用基指針
你有沒有試過把它丟掉? – 2012-07-19 12:39:54
不。我正在研究這個文本,並且我認爲它出於我還沒有理解的原因。 – Olumide 2012-07-19 12:41:41