【发布时间】:2020-05-13 07:18:17
【问题描述】:
我有一个长度为 (n) 的 QVector (v),其中已经有多个值。我想将这个 QVector 的长度加倍并用 0 填充后半部分。有没有比这样做更好的方法:
for (int i=0;i<n;i++) {
v.append(0);
}
在循环中调用 append 感觉效率低/不优雅
提前谢谢...
【问题讨论】:
我有一个长度为 (n) 的 QVector (v),其中已经有多个值。我想将这个 QVector 的长度加倍并用 0 填充后半部分。有没有比这样做更好的方法:
for (int i=0;i<n;i++) {
v.append(0);
}
在循环中调用 append 感觉效率低/不优雅
提前谢谢...
【问题讨论】:
只需调用v.resize( 2*v.length() ) 将长度加倍。就是这样。
documentation 表示QVector<T>::resize() 使用默认构造值初始化新元素。当T为数值类型时,默认值为0。
【讨论】: