当前位置:  编程技术>c/c++/嵌入式

c++中vector<int>和vector<int*>的用法区别

    来源: 互联网  发布时间:2014-10-21

    本文导语:  在使用STL容器(比如map、list、vector等)的时候,是用放一个对象还是放一个对象指针,即是用vector还是vector,这里的vector可以换成其他的容器,int可以换成其他基本类型,也可以自定义的数据结构或类。 首先,要说明的是,...

在使用STL容器(比如map、list、vector等)的时候,是用放一个对象还是放一个对象指针,即是用vector还是vector,这里的vector可以换成其他的容器,int可以换成其他基本类型,也可以自定义的数据结构或类。

首先,要说明的是,这两种方式,怎么用都可以实现功能,把一组整型数放到容器里。先看看两种方式在使用的时候的区别。

1.vector

代码如下:

vector vecTemp;
for (int i=0; i< 10; i++)
{
 vecTemp.push_back(i);
}

这种方式不需要动态new内存,当然也不用delete。

2.vector

代码如下:

vector vecTemp;
for (int i=0; i< 10; i++)
{
 int* nTemp = new int;
 nTemp = &i;
 vecTemp.push_back(i);
}

这种方式采用new,当然也要用delete:
代码如下:

std::vector::iterator Iter;
for(Iter=vecTemp.begin(); Iter!=vecTemp.end(); Iter++)
{
 int* temp = *Iter;

 delete temp;
 temp = NULL;
}

3.两种用法的区别:

1)vector不需要动态操作内存,不用担心内存泄露等问题;vector要注意new和delete成对使用。

2)当int改变成其他类型或结构或类的时候,用vector这种方式比较方便,容器里放的内容占用的内存也相对要少一些,指针在用的时候,去申请空间,不用,那就是个占用4个字节的地址。


    
 
 

您可能感兴趣的文章:

  • C++ Vectors 成员 swap():交换两个Vector
  • 我使用gcc编译C++程序时,找不到<vector>,可是在/usr/include/g++-3下有该文件
  • C++ Vectors 成员 assign():对Vector中的元素赋值
  • C++ vector删除符合条件的元素示例分享
  • C++ Vectors 成员 rbegin():返回Vector尾部的逆迭代器
  • C++ Vector用法深入剖析
  • C++ Vectors 成员 reserve():设置Vector最小的元素容纳数量
  • c++ vector(向量)使用方法详解(顺序访问vector的多种方式)
  • C++ Vectors 成员 rend():返回Vector起始的逆迭代器
  • C++中vector的用法实例解析
  • C++ Vectors 成员 resize():改变Vector元素数量的大小
  • C++ vector的用法小结
  • C++ Vectors 成员 size():返回Vector元素数量的大小
  • C++ Vectors 成员 push_back():在Vector最后添加一个元素
  • C++ Vectors 成员 get_allocator():返回vector的内存分配器
  • C++ Vectors 成员 max_size():返回Vector所能容纳元素的最大数量(上限)
  • C++ Vectors 成员 capacity():返回vector所能容纳的元素数量(在不重新分配内存的情况下)
  • C++ Vectors 成员 empty():判断Vector是否为空(返回true时为空)
  • C++ Vectors 成员 insert():插入元素到Vector中
  • C++ Vectors 成员 begin():返回第一个元素的迭代器
  • C++ Vectors 成员 front():返回第一个元素
  • stl容器set,map,vector之erase用法与返回值详细解析
  • 哪里有详细介绍Enumeration/Vector用法的资料?我不太会。
  • C++ Vectors 成员 capacity():返回vector所能容纳的元素数量(在不重新分配内存的情况下) iis7站长之家
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.util类vector<e>的类成员方法: vector定义及介绍
  • 如何创建vector数组!我这些不对static Vector report[8]=new Vector()[8];高手指点me:)
  • java命名空间java.util类vector<e>的类成员方法: elementdata定义及介绍
  • 在一个方法如:public Vector getDistinctVector(Vector old,Vector new),如何可以保证 old 不被改写,因为old是从外面传入来的,old本
  • java命名空间java.util类vector<e>的类成员方法: elementcount定义及介绍
  • 如何把包含Vector的一个Vector转换成Integer[][]??
  • java命名空间java.util类vector<e>的类成员方法: capacityincrement定义及介绍
  • 在线等待:如何把vector清空,再用该清空vector是,索引是从0开始,而不是紧接着上次清空是的索引?
  • java命名空间java.util类vector<e>的类成员方法: clone定义及介绍
  • 急!50分!我现在想要在VECTOR中直接存储结果集???但不想使用"在VECTOR中存储一个
  • java命名空间java.util类vector<e>的类成员方法: capacity定义及介绍
  • Vector.addElement()的问题,Urgent!
  • java命名空间java.util类vector<e>的类成员方法: removeallelements定义及介绍
  • 简单的关于Vector复制的问题
  • java命名空间java.util类vector<e>的类成员方法: lastelement定义及介绍
  • 请问ArrayList和Vector哪个好?
  • java命名空间java.util类vector<e>的类成员方法: firstelement定义及介绍
  • Vector包含的对象什么时候是可clone的?
  • java命名空间java.util类vector<e>的类成员方法: trimtosize定义及介绍
  • Vector的问题
  • java命名空间java.util类vector<e>的类成员方法: tostring定义及介绍
  • 一个关于Vector的问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3