gpt4 book ai didi

c++ - 添加 vector

转载 作者:行者123 更新时间:2023-11-27 23:30:33 26 4
gpt4 key购买 nike

面向所有人的 C++ 练习 P6.07:编写一个函数 vector<int> append(vector<int> a, vector<int> b) append ba 之后

例。 a is 1 4 9 16b is 9 7 4 9 11然后返回 1 4 9 16 9 7 4 9 11

我的函数

vector<int> append(vector<int> a, vector<int> b)
{
vector<int> appended;

for (unsigned int i = 0; i < a.size(); i++)
{
appended.push_back(a[i]);
}

for (unsigned int i = 0; i < b.size(); i++)
{
appended.push_back(b[i]);
}

return appended;
}

我的一个尝试:

int main()
{
cout << "Enter some numbers: ";
int input, input2;
vector<int> a, b;
while (cin >> input)
{
if (cin.fail())
{
cout << "Enter some numbers: ";
while (cin >> input2)
{
if (cin.fail()) {break;}
else {b.push_back(input2);}
}
}
else {a.push_back(input);}
}
return 0;
}

我将如何使用 cin获取 vector ab当我运行 main()功能?

最佳答案

std::cin失败后如果想再次使用,需要清除错误标志。

至于append,为什么不用reserve和insert?

void append(std::vector<int>& a, const std::vector<int>& b)
{
a.reserve(a.size() + b.size());
a.insert(a.end(), b.begin(), b.end());
}

关于c++ - 添加 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5765959/

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