gpt4 book ai didi

C++ 在 vector 中添加 double 元素

转载 作者:行者123 更新时间:2023-11-27 23:50:22 25 4
gpt4 key购买 nike

尝试调试这段代码,给定 vector {1,2},它应该打印出 {1,2,2,4}。但是,我遇到了无限循环。

代码如下:

#include <iostream>
#include <vector>

using namespace std;

void Add_Doubles(vector<int> & A){
for (int i=0; i< A.size(); i++)
A.push_back(2*A[i]);
}

void print (const vector<int> & A){
for (int i=0; i<A.size(); i++)
cout << A[i] <<" ";
cout << endl;
}

int main(){
vector<int> A;
A.push_back(1);
A.push_back(2);
Add_Doubles(A);
print(A);
Add_Doubles(A);
print(A);
return 0;
}

我感觉是for循环没有退出,但也有可能是别的原因。任何指针都会有所帮助!

最佳答案

当您将一个新整数push_back 给A 时,它的大小会增加。这意味着您永远不会到达循环的尽头。我建议您将它的初始大小存储在另一个整数中,如下所示:

int myVecSize = A.size();

然后将其与 i 进行比较。

关于C++ 在 vector 中添加 double 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46898718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com