精華區beta Programming 關於我們 聯絡資訊
: 耐心去看錯誤訊息也是一種學習的必經之路, : 如果因為 compiler 吐了十幾頁 error 就被嚇到的話, : 那就表示還必須再多磨練, : 其實基礎夠穩的話那些也只不過是數量多而已。 template 的 error message 乍看之下真的很嚇人, 但是其實仔細去看,會發現真正需要用到的資訊通常只是一兩句話而已 當然,這不是表示多數的 message 都是無用的,有時候那些還是必要的 template 的複雜度原本就是這麼高,所以會有這樣的訊息是必然的 真的也只能說,多多磨練看久了就會習慣了 不過我個人覺得可以多換幾個 compiler 看不同的錯誤訊息 每個 compiler 會報的角度都不太一樣,交互參考更容易抓到問題重心 : 我也很好奇使用非 open source 的 compiler 做這些事的人, : 是怎麼樣去解決的。 就像上面所說的,如果所得錯誤訊息過於神秘難解,換個 compiler 看不同角度的報告,可以較為快速釐清問題所在 再沒頭緒的話,也就真的只能 try & error 了 也不見得是毫無意義的行為,換個做法看訊息的差異,也能從中尋找原本的問題 :>常常會困在說「是compiler剛好不支援這樣寫的方式,還是我寫的方式本來就不合法」 基本上除非是用太舊的 compiler, 不然我是沒碰過 compiler 不支援的情況 或是那種非標準的特殊用法,例如現在有人在提案的 variadic template http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2087.pdf template<typename...Args> class tuple { /* implementation */ }; 像是這種東西,我記得有聽說哪個 compiler 有支援, 但我相信多數 compiler 是不支援的 : > 因為實際是找不到方法,所以....想在此請教曾經有克服這段經驗的大大.... : > 我在猜我是不是學習的方法有什麼嚴重錯誤而不自知?? : 學會看懂所有錯誤訊息是第一步吧, : 我想這點應該沒什麼爭議, : 另外就是不要先懷疑 compiler 沒支援。 同意… :o : > 希望 能夠 在 Modern C++ Design 讀書會下,透過大家一起討論的方式, : > 理想是能夠抓住GoF的方法,把Modern C++ Design 的精隨舉一反三的方式 : > 可以實際的把這精巧的元素 真的直接用於 系統的開發上。 : > ........感恩..... 其實我覺得 Loki 跟 design pattern 的關聯並不是很大 design pattern 只是概念而已,Loki 則是概念和實作的組合 像是 Loki 0.1.4 和 0.1.5 就沒增加什麼跟 dp 有關係的東西 Pimpl, 這個也只是在 C++ 中比較有意義的實作手法,在動態連結的語言中根本就無用 LockingPtr, 這個也只是 C++ 專屬的實作技巧,徹頭徹尾的 C++ 技巧 還有 ScopeGuard, SafeFormat, 等等,都跟 dp 無關… -- Nobody can take anything away from him. Nor can anyone give anything to him. What came from the sea, has returned to the sea. Chrono Cross -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.232.0.188