【C++学习之(四)】标准库 vector

模板(template):c++ 有类模板和函数模板 模板不是具体的类或者函数 编译器根据模板创建的类或者函数的过程叫做实例化,当使用模板时应该告诉编译器 应该把类或者函数实例化何种类型

vector就是一个类模板 class template

定义和初始化vector对象

  • 列表初始化只能用花括号
vector<string> s("the","c","is");//错误
vector<string> s{"the","c","is"};//正确
  • 判断是初始化值还是元素个数
  1. 如果是圆括号则是构造
  2. 如果是花括号则是初始化列表
  3. 当初始化列表里的值不能用来初始化时 考虑是构造
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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值