3.21
int:
#include<iostream>
using std::cout;
using std::endl;
#include<vector>
using std::vector;
int main()
{
// 定义一个vector对象
vector<int> v5(10 ,42);
// 输出vector对象的容量和具体内容
int size = v5.end() - v5.begin();
cout << size << endl;
// 使用迭代器和!=遍历元素
for(auto it = v5.begin(); it != v5.end(); ++it){
cout << *it << endl;
}
return 0;
}
string:
#include<iostream>
using std::cout;
using std::endl;
#include<vector>
using std::vector;
#include<string>
using std::string;
int main()
{
// 定义一个vector对象
vector<string> v5(10 , "hi");
// 输出vector对象的容量和具体内容
int size = v5.end() - v5.begin();
cout << size << endl;
// 使用迭代器和!=遍历元素
for(auto it = v5.begin(); it != v5.end(); ++it){
cout << *it << endl;
}
return 0;
}
3.22
#include<iostream>
using std::cout;
using std::endl;
#include<vector>
using std::vector;
#include<string>
using std::string;
int main()
{
// 定义一个字符串向量
vector<string> text{"Hello", "", "world!"};
// 把text的第一段全都改成大写形式,然后再输出它
for(auto it = text.begin();
it != text.end() && !(*it).empty(); ++it){
for(auto &ch: *it){
ch = toupper(ch);
}
cout << *it << endl;
}
return 0;
}
3.23
#include<iostream>
using std::cout;
using std::endl;
#include<vector>
using std::vector;
#include<string>
using std::string;
int main()
{
// 创建一个含有10个整数的vector对象
vector<int> ivec(10 , 42);
// 使用迭代器将所有元素的值都变成原来的两倍。输出vector对象的内容
for(auto it = ivec.begin(); it != ivec.end(); ++it){
*it *= 2;
cout << *it << endl;
}
return 0;
}