2013-05-06 66 views
1

我可以用QVector<QColor>() << x << y << z实例化一个包含三个QColor值的QVector。QVector的单行实例化,其值不使用<<

是否可以在一行上实例化它,而不使用超载<<?像QVector<QColor>().addAll(x,y,z)

+0

所以,你要避免出现两个(可忽略)函数调用?为什么?这是否是某种瓶颈?你是否认为这是这种情况下的一个瓶颈?或者你只是不喜欢使用'<<'运算符? – 2013-05-06 12:23:05

+0

@JoachimPileborg因为它的输入较少。 – cmannett85 2013-05-06 12:32:28

+0

@JoachimPileborg我只是想知道是否有办法以不同的方式去做,因为没有很好的理由。或者,也许我只是不喜欢''''''''操作符:) – neu242 2013-05-06 12:58:28

回答

4

在C++ 11,你可以用QVector's initializer list constructor

QVector<QColor>{x, y, z} 
+0

+1由于某种原因,我只是认为这只是为Qt5引入的。很高兴被纠正! – cmannett85 2013-05-06 12:33:45

+0

谢谢。但是,早期的C++版本呢? – neu242 2013-05-06 14:13:10

+0

@ neu242我认为你的'<<'解决方案是唯一的选择。 – 2013-05-06 14:13:53

相关问题