#include<iostream>
#include<vector> using namespace std; int main()
{
//初始化10个元素,每个值都为0
vector<int> fvec();
//输出
for(vector<int>::size_type ix=;ix!=fvec.size();ix++)
cout<<fvec[ix];
cout<<endl; //下标法赋值 0-9
for(vector<int>::size_type ix=;ix!=fvec.size();ix++)
fvec[ix]=ix;
//输出
for(vector<int>::size_type ix=;ix!=fvec.size();ix++)
cout<<fvec[ix];
cout<<endl; return ;
}

从上面可以看出,如果想要用下标法添加或者输出元素,数据的存储空间必须存在,无法动态的添加元素。

动态添加元素的方法,是用vector对象的方法:push_back()

#include<iostream>
#include<vector>
#include <string> using namespace std; int main()
{
//只有一个对象一个值
vector<int> ivec;
vector<string> strvec; //现在必须动态添加元素
for(vector<int>::size_type ix=;ix!=;ix++)
ivec.push_back(ix);
for(vector<int>::size_type ix=;ix!=ivec.size();ix++)
cout<<ivec[ix];
cout<<endl;
string word;
while(cin >> word)
{
strvec.push_back(word);
}
for(vector<int>::size_type ix=;ix!=strvec.size();ix++)
cout<<strvec[ix]<<endl;
return ;
}

注意:字符串输入结束符为 ctrl+z 回车。

使用迭代器:

#include<iostream>
#include<vector> using namespace std; int main()
{
vector<int> ivec();
//定义迭代器类型
vector<int>::iterator iter;
vector<int>::size_type ix;
//现在必须动态添加元素
for(iter=ivec.begin(),ix=;iter!=ivec.end();iter++,ix++)
*iter=ix;
//输出
for(vector<int>::size_type ix=;ix!=ivec.size();ix++)
cout<<ivec[ix];
cout<<endl;
return ;
}

给vector对象添加元素的方法的更多相关文章

  1. 《C++ Primer》学习笔记:向vector对象添加元素蕴含的编程假定

    练习<C++ Primer>中的3.14节时,当敲入: #include <iostream> #include <string> using namespace ...

  2. C++的vector对象

    C++的vector使用 标签(空格分隔): C++ 标准库类型vector表示对象的集合,其中所有对象的类型都相同.集合中的每个对象都有一个与之对应的索引,索引用于访问对象,因为vector容纳着其 ...

  3. 容器大小的改变以及容器操作可能使迭代器失效、vector对象的容量变化

    1 改变容器的大小 我们可以使用resize来增加或缩小容器,与往常一样,array不支持resize.如果当前大小大于所要求的大小,容器后面的元素会被删除:如果当前大小小于新大小,会将新元素添加到容 ...

  4. jQuery中动态创建、添加元素的方法总结

    <input type="button" value="创建元素" id="btn"> <div id="box ...

  5. Effective java笔记(二),所有对象的通用方法

    Object类的所有非final方法(equals.hashCode.toString.clone.finalize)都要遵守通用约定(general contract),否则其它依赖于这些约定的类( ...

  6. 关于 XMLHttpRequest对象的onreadyStateChange方法

    最近做了一个Ajax的demo,前台用HTML+javascript,后台用一个servlet来响应,流程如下: 页面点击链接事件,由js捕获,生成一个请求到后台,servlet处理后给出响应信息,并 ...

  7. 22.编写一个类A,该类创建的对象可以调用方法showA输出小写的英文字母表。然后再编写一个A类的子类B,子类B创建的对象不仅可以调用方法showA输出小写的英文字母表,而且可以调用子类新增的方法showB输出大写的英文字母表。最后编写主类C,在主类的main方法 中测试类A与类B。

    22.编写一个类A,该类创建的对象可以调用方法showA输出小写的英文字母表.然后再编写一个A类的子类B,子类B创建的对象不仅可以调用方法showA输出小写的英文字母表,而且可以调用子类新增的方法sh ...

  8. getSelection、range 对象属性,方法理解,解释

    网上转了一圈发现没有selection方面的解释,自己捣鼓下 以这段文字为例子.. <p><b>法国国营铁路公司(SNCF)20日承认,</b>新订购的2000列火 ...

  9. js中Number对象与MATH方法整理总结

    W3C的文档: Number 对象属性 属性 描述 constructor 返回对创建此对象的 Number 函数的引用. MAX_VALUE 可表示的最大的数. MIN_VALUE 可表示的最小的数 ...

随机推荐

  1. Linux安装C++环境

    centos 安装gcc-c++ yum install gcc-c++ 安装CMake yum install cmake 切换gcc版本 安装devtoolset-x 安装devtoolset-3 ...

  2. 5 GC 参数

  3. [YOLO]《YOLO9000:Better, Faster, Stronger》笔记

    一.简单介绍 YOLO9000(也叫YOLO v2),主要是在YOLO v1的基础上做了改进,而且效果还是比较显著的,在原论文中,作者提到的改进大致包括两个工作: 1.检测性能上的改进,提出了YOLO ...

  4. 微信小程序如何刷新当前界面

    在微信小程序开发的过程中,在一个页面中对数据操作之后我们大多数时间都需要刷新一下当前界面以把操作之后的结果显示出来,但是如何在执行操作后进行本页面的刷新就成了一个问题很大但是很需要的操作.下面介绍一下 ...

  5. php.basic.functions

    array_unshift call_user_func_array闭包 下面是学院的代码 class Container { protected $binds; protected $instanc ...

  6. 本机无oracle,远程连接

    描述 本机无oracle,通过PLSQL Developer程序,连接虚拟机中的oracle11gR2 1 下载instant-client 需要和服务端版本对应 下载相应的instant-clien ...

  7. 107-PHP类成员属性赋值

    <?php class mao{ //定义猫类 public $age; //定义多个成员属性 protected $weight; private $color; } $mao1=new ma ...

  8. flink笔记(三) flink架构及运行方式

    架构图 Job Managers, Task Managers, Clients JobManager(Master) 用于协调分布式执行.它们用来调度task,协调检查点,协调失败时恢复等. Fli ...

  9. vue作用域插槽实践

    引言 我在练手的时候发现后端返回的数据可以通过两种方式渲染 (自己遇到的 可能你都会 哈哈哈) 后端传过来的数据函数 from django.http import JsonResponse def ...

  10. c++程序—字符串

    C风格字符串:char 变量名[ ]="字符串值 " int main() { char str[] = "hello world!"; cout <&l ...