方法一:使用 for each 循环方法
#include <iostream>
#include <vector>
int main() {
std::vector<int> arrays{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
for(auto array: arrays) {
std::cout << array << " ";
}
std::cout << std::endl;
return 0;
}
方法二:使用 ostream_iterator
#include "iostream"
#include "vector"
#include "iterator"
int main() {
std::vector<int> arrays{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
std::ostream_iterator<int> out_iter(std::cout, " ");
std::copy(arrays.begin(), arrays. End(), out_iter);
return 0;
}
方法三:std::for_each + lambda
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> arrays{ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
std::for_each(arrays.begin(), arrays.end(), [](const auto &i){std::cout << i << " "; });
std::cout << "\n";
return 0;
}
方法四:重载<<操作符 + typename
#include "iostream"
#include "vector"
#include "string"
template <typename T>
std::ostream& operator << (std::ostream& out, const std::vector<T>& ve) {
out << "[";
string delimiter = "\0";
for (auto& item : ve) {
out << delimiter << item;
delimiter = ",";
}
out << "]\n";
return out;
}
int main() {
vector<int> nums = {0, 1, 2, 3, 4, 5, 6, 7};
vector<string> words = {"1", "2", "3", "4"};
std::cout << nums;
std::cout << words;
return 0;
}