gotw

    1熱度

    1回答

    Herb Sutter: 有效的併發性:使用鎖定層次結構,以避免DeadlockEffective 併發:打破Amdahl定律! »GotW#88:候選人對於「最重要的」重要常量「2008-01-01由Herb Sutter一位朋友最近問我 下面的例1是否合法,如果是的話是什麼意思。它導致了一個很好的討論 我想我會在這裏發佈。由於它已經接近GotW 的風格,我想我會再做一個榮譽,畢竟這些 年...

    8熱度

    2回答

    最近,我讀了一篇:Double or Nothing from GOTW by Herb Sutter 我有點困惑與以下程序的說明: int main() { double x = 1e8; while(x > 0) { --x; } } 假設該代碼運行在某些機器上1秒鐘。我同意這樣的代碼是愚蠢的。 但是,如果我們將x從float更改爲d

    1熱度

    3回答

    據GOTW #56,有下面的代碼中潛在的經典內存泄漏和異常的安全問題: // In some header file: void f(T1*, T2*); // In some implementation file: f(new T1, new T2); 的原因是,當我們new T1,或new T2,有可能是例外從班構造拋出。 同時,根據該解釋: 簡要回顧一下:如「新T1」的表達式稱爲

    6熱度

    3回答

    來自http://herbsutter.com/2013/05/22/gotw-5-solution-overriding-virtual-functions/ 我們爲什麼要這樣寫:而不是 auto pb = unique_ptr<base>{ make_unique<derived>() }; 剛: auto pb = make_unique<derived>(); 我唯一的猜測是,如果

    19熱度

    2回答

    我讀comments上香草薩特的大師周終極版約virtual功能,終於看見他提這一點: [...]「最終的用途是罕見」 - 好吧,他們有點。我不知道很多,在標準化過程中,Bjarne一再要求提供它解決的問題的例子,並指出應該使用它的模式,我不記得任何突出的主要問題。我唯一知道的是,如果你定義了一個庫模塊(這還不是一個標準概念),那麼使葉類最終可以給編譯器提供更多的信息來虛擬化調用,因爲知道庫之外的

    21熱度

    3回答

    在香草薩特的When Is a Container Not a Container?,他展示了採用指針到一個容器中的例子: // Example 1: Is this code valid? safe? good? // vector<char> v; // ... char* p = &v[0]; // ... do something w

    1熱度

    2回答

    Gotw 80包括下面的例子: // Example 1 // #include <string> using namespace std; class A { public: A(const string& s) { /* ... */ } string f() { return "hello, world"; }