16
boost::operators
自動定義的運營商像+
基於手動實施,如+=
這非常有用。爲了產生這些運營商T
,一個來自boost::operators<T>
繼承如圖所示由升壓例如:助推操作員如何工作?
class MyInt : boost::operators<MyInt>
我熟悉了CRTP模式,但我看不出它是如何工作在這裏。具體而言,由於運營商不是會員,我並沒有真正繼承任何設施。 boost::operators
似乎完全是空的,但我不太擅長閱讀提升源代碼。
任何人都可以解釋這是如何工作的細節?這種機制是否廣爲人知和廣泛使用?
什麼是真正有趣的是,你從類私有繼承,但它的工作原理。這真是一個有趣的技巧:) – 2010-06-02 15:40:37
它有一個名字:[Barton-Nackman trick](http://en.wikipedia.org/wiki/Barton-Nackman_trick)。 – 2010-06-02 17:32:27