首页 > 解决方案 > 有没有更好的方法来为“零填充”附加 QVector?

问题描述

我有一个长度为 (n) 的 QVector (v),其中已经有多个值。我想将这个 QVector 的长度加倍并用 0 填充后半部分。有没有比这样做更好的方法:

for (int i=0;i<n;i++) {
    v.append(0);
}

在循环中调用 append 感觉效率低下/不优雅

提前致谢...

标签: qtqvector

解决方案


解决方案

只需调用v.resize( 2*v.length() ). 就这样。

解释

文档说用QVector<T>::resize()默认构造的值初始化新元素。当T是数值类型时,默认值为 0。


推荐阅读