写一个程序,请用char型vector a中的前5个数据构造一个新的vector b,请不要使用for循环赋值
时间: 2024-09-07 17:05:11 浏览: 34
C++容器vector
在C++中,你可以使用`std::copy`函数或者范围-for循环来创建一个新的`vector` `b`,复制`vector a`中的前5个元素。这里是一个例子,不使用传统的for循环:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<char> a = {'A', 'B', 'C', 'D', 'E', 'F', 'G'}; // 假设a有7个元素
std::vector<char> b(5); // 创建一个大小为5的新vector b
// 使用std::copy
std::copy(a.begin(), a.begin() + 5, b.begin());
// 或者使用范围-for循环
// for (auto it = a.begin(); it != a.begin() + 5; ++it) {
// b.push_back(*it);
// }
// 打印新vector b的内容
for (const char& c : b) {
std::cout << c << " ";
}
return 0;
}
```
在这个示例中,我们选择了两个方法,一种是使用`std::copy`函数从`a`的第一个元素开始复制到第五个元素,另一种是使用范围-for循环(如果C++11及以上版本)。注意,在实际编程中,标准库提供的工具通常比手动遍历更高效。
阅读全文