2012-11-13 33 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编译器的库或语法。 –

相关问题