看板 C_and_CPP 關於我們 聯絡資訊
以前學物件導向的時候,老師用一個方式幫助我們了解static函數的差異 如果同學們是一個個物件,我問任何同學一個問題所得到的答案都是相同的 換言之要回答這個問題要參考跟同學們腦內在想什麼無關的時候 這種函數可以讓他成為static的函數 意思就是如果只參考從外部傳遞過來的變數 完全不考慮內部成員變數的話,就可以寫成static函數 那麼為什麼QDir::mkdir(QString) 以及QDir::mkpath(QString)不是static? 創建資料夾不管那個資料夾存不存在,不都是跟傳入的path有關嗎? 為什麼QDir會需要instance才去mkdir mkpath 另外這種情況很多嗎? 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.192.225.144 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1692001275.A.E81.html
closer76: 先說我沒用過,不過看文件它的參數應該吃相對路徑。 08/14 16:36
closer76: 既然是相對路徑,那自然需要「目前」路徑,而這項資訊是 08/14 16:36
closer76: 存在於 QDir 中的,那自然不能是 static function。 08/14 16:37
john790710: https://bugreports.qt.io/browse/QTBUG-3943 08/14 17:02
john790710: 這很久以前就有人提過了,不過Qt到6都沒打算改 08/14 17:03
wulouise: 吃相對路徑的話合理 08/14 19:52