模板(template):c++ 有类模板和函数模板 模板不是具体的类或者函数 编译器根据模板创建的类或者函数的过程叫做实例化,当使用模板时应该告诉编译器 应该把类或者函数实例化何种类型
vector就是一个类模板 class template
定义和初始化vector对象
- 列表初始化只能用花括号
vector<string> s("the","c","is");//错误
vector<string> s{"the","c","is"};//正确
- 判断是初始化值还是元素个数
- 如果是圆括号则是构造
- 如果是花括号则是初始化列表
- 当初始化列表里的值不能用来初始化时 考虑是构造
vector<int> s(10,42);
vector<int> s1{10,42};
向vector对象中添加元素
- 配合for循环的 push_back
vector对象的其他操作
v.empty();
v.size();
v[n];
< > //字典顺序比较
vector对象的下标索引可以用来访问已经存在的元素,不能用下标来添加元素
- 从cin读入一个词并把存入vector,转换成大写,单个换行输出
int main()
{
vector<string> vs;
string s1;
while(cin>>s1) {
vs.push_back(s1);
decltype(vs.size()) cont=vs.size()-1;
if(!s1.empty()){
cout<<vs[cont]<<endl;
for(auto &c:vs[cont]){
c=toupper(c);
}
for(decltype(vs[cont].size()) i=0;i<vs[cont].size();i++)
cout<<vs[cont][i]<<endl;
}
}
return 0;
}