有没有更好的方法为 'zero padding' 附加 QVector?
is there a better way to append a QVector for 'zero padding'?
我有一个长度为 (n) 的 QVector (v),其中已经有多个值。我想将这个 QVector 的长度加倍,并用 0 填充后半部分。有没有比以下更好的方法:
for (int i=0;i<n;i++) {
v.append(0);
}
感觉inefficient/inelegant循环调用append
提前致谢...
解决方案
只需调用 v.resize( 2*v.length() )
即可将长度加倍。就这些了。
说明
documentation 表示 QVector<T>::resize()
使用默认构造的值初始化新元素。当T
为数值类型时,默认值为0。
我有一个长度为 (n) 的 QVector (v),其中已经有多个值。我想将这个 QVector 的长度加倍,并用 0 填充后半部分。有没有比以下更好的方法:
for (int i=0;i<n;i++) {
v.append(0);
}
感觉inefficient/inelegant循环调用append
提前致谢...
解决方案
只需调用 v.resize( 2*v.length() )
即可将长度加倍。就这些了。
说明
documentation 表示 QVector<T>::resize()
使用默认构造的值初始化新元素。当T
为数值类型时,默认值为0。