2012-11-13 31 views
5

在Boost中,有一些方便的功能可以讓您在一行中填充容器。Qt是否有與Boost的分配模塊相同的東西?

例如,list_of可讓您像這樣填充列表。

#include <boost/assign/list_of.hpp> // for 'list_of()' 
#include <list> 
std::list<int> primes = boost::assign::list_of(2)(3)(5)(7)(11); 

在我的項目中,我使用的是Qt,不能使用Boost。在建造時填充Qt容器有沒有類似的方便方法?

+0

爲什麼你不能使用升壓? –

+0

我認爲我們正在使用另一個圖書館發生衝突。在一天結束時,它是一個大型代碼庫的一部分,爲了方便起見,我們不需要一段時間來請求將新庫引入到我們的構建過程中。 (到目前爲止,我所依賴的其他東西已經被Qt覆蓋了。) –

回答

12

可以使用的QList ::操作< <

QList<int> primes = QList<int>() << 2 << 3 << 5 << 7 << 11; 
6

從版本4.8 Qt支持大多數容器的C++ 11標準初始化。

http://doc.qt.digia.com/4.8-snapshot/qt4-8-intro.html

+0

Boost.Assign的要點是爲pre-C++ 11編譯器提供初始化語法。 –

+2

@fish和?問題不在於詢問Boost,而是詢問Qt容器是否可以用類似的方式填充。如果你使用C++ 11編譯器,那麼他們可以從4.8開始。 –

+0

問題在於詢問是否存在用於Qt的等效庫,該庫是不需要C++ 11編譯器的庫或語法。 –

相關問題