zoukankan      html  css  js  c++  java
  • c++ vector相关

    include <vector>
    
    using namespace std::vector;
    
    vector<T> vec;

    当用到迭代器(iterator)去遍历的时候,

    vector<T>::iterator iter;

    必须保持vec的T和iter的T保持一致

    include <vector>
    
    using namespace std::vector;
    
    vector<std::string> vString;
    for( int i = 0; i < 10; i++ ) {
    		
    	vString.push_back(  "aaa" );
    }
    	
    for( vector<std::string>::iterator iter = vString.begin(); iter != vString.end(); iter++ ) {
    	cout << *iter << endl;
    }
    

      

    vector::iterator既可以读取容器(vector)里的元素,也可以改变容器(vector)里的元素的值;

    for( vector<std::string>::iterator iter = vString.begin(); iter != vString.end(); iter++ ) {
        *iter = "bb"
    }

    则vString里面的值则都为"BB";

    还有一种是const_iterator,其实从字面意思就可以看出,前面有个const,则不能修改;只能用作读取。

    for( vector<std::string>::const_iterator c_iter = vString.begin(); c_iter != vString.end(); c_iter++ ) {
        cout << *c_iter << endl;
    }

    但是不能把const_iterator对象与const的iterator对象混淆。如果声明一个const迭代器时,必须初始化迭代器。一旦初始化后,就不能改变它的值。

    注意:任何改变vector长度的操作都会使已存在的迭代器失效。例如,如果在使用迭代器的过程中,在使用push_back添加元素后,就不能使用之前的迭代器继续遍历了

  • 相关阅读:
    numpy的文件存储 .npy .npz 文件
    Google词向量word2vec的使用
    Python函数-logging.basicConfig
    现货黄金-20180918
    Pandas的loc方法
    Pandas的index属性
    python调用exe程序
    Pandas的concat方法
    转载:为什么选择Nginx(1.2)《深入理解Nginx》(陶辉)
    discuz3.4:在Centos6.5中安装过程
  • 原文地址:https://www.cnblogs.com/Colored-Mr/p/5082614.html
Copyright © 2011-2022 走看看