您在代码中创建了两个大小为 imageGridSize 的 std::vector 对象 x_image 和 y_image。然后,您使用 for 循环将值添加到 x_image 中。然而,您在创建 vector 对象时已经指定了大小,随后又通过 push_back() 方法添加元素,这会导致额外的 0 值被添加到 vector 的末尾。

为了解决这个问题,您可以在创建 vector 对象时不指定大小,并在循环中使用 push_back() 方法逐个添加元素。以下是修改后的代码示例:

std::vector<RType> x_image;
std::vector<RType> y_image;
for(RType i = -400; i <= 400; i += tho_r){
    x_image.push_back(i);
}

通过这种方式,您将只添加循环中生成的值,并且不会有额外的 0 值添加到 vector 中。

C++ std::vector 初始化问题:避免添加额外 0 值

原文地址: https://www.cveoy.top/t/topic/pgkW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录