2011-06-09 95 views

回答

9

如果您使用boost::shared_ptr,請繼續使用它。因爲boost::shared_ptr被接受到C++ 0x標準(std::shared_ptr)中,因此優先採用boost::shared_ptr以指向任何Qt'擴展名'。

+0

被接受進入C++ 0x標準並不意味着應該避免Qt「擴展」。 Qt更老,通常更穩定,一致和可用。如果你的編譯器不支持C++ 0x,因爲它太舊了?如果你使用的C++標準庫沒有實現std :: shared_ptr或者實現了錯誤呢?僅僅因爲某些東西被接受爲標準並不意味着所有其他東西都應該被拋棄。您必須查看每個用例,並確定最適合該工作的是什麼。 – 2012-10-15 16:17:31

+2

@JakePetroules:由於OP說他已經在使用boost,所以當標準方式已經被使用時,切換到非標準的東西只是荒謬的。 (這也回答了你的「假設」 - 使用提升)。是的,Qt像Java和.Net一樣,仍然生活在90年代面向對象的思維模式中。它也認爲它是地球上唯一的每個人都應該使用的圖書館,因此可以自由地''定義'例如「foreach」和其他與其他一切事物相沖突的常見名稱...... – ybungalobill 2012-10-15 18:57:05