zoukankan      html  css  js  c++  java
  • 我在使用vector时候遇到的二逼问题

    最近在练习使用STL中德各种容器,像vector,map,set之类的。

    然后在使用vector的时候,无意间遇到了一个很二逼的问题。

    主要是这样的,请看源码(C++):

    //错误的写法:
    #include "stdafx.h"
    
    #include<iostream>
    #include<vector>
    #include<algorithm>
    
    using namespace std;
    
    int main()
    {
    	vector<int> MyVector;         //这里是没有申明数量的,而下面用的下标访问,会出现错误
    	for(int i=0;i<10;i++){
    		MyVector[i]=i;            //这里的访问方式不对。
    	}
    	cout<<MyVector.size()<<endl;
    	cout<<MyVector.empty()<<endl;
    	MyVector.clear();
    	cout<<MyVector.empty();
    	int a=0;
    	cin>>a;
    	return 0;
    }
    
    //改进的方法一
    #include<iostream>
    #include<vector>
    #include<algorithm>
    
    using namespace std;
    
    int main()
    {
    	vector<int> MyVector(10);         //申明的时候把向量的容量申明
    	for(int i=0;i<10;i++){
    		MyVector[i]=i;            
    	}
    	cout<<MyVector.size()<<endl;
    	cout<<MyVector.empty()<<endl;
    	MyVector.clear();
    	cout<<MyVector.empty();
    	int a=0;
    	cin>>a;
    	return 0;
    }
    
    //改进的方法二
    
    #include<iostream>
    #include<vector>
    #include<algorithm>
    
    using namespace std;
    
    int main()
    {
    	vector<int> MyVector;    //申明的时候不申明向量的容量    
    	for(int i=0;i<10;i++){
    		MyVector.push_back(i);           //赋值的时候用push_back方法,从后插入。
    	}
    	cout<<MyVector.size()<<endl;
    	cout<<MyVector.empty()<<endl;
    	MyVector.clear();
    	cout<<MyVector.empty();
    	int a=0;
    	cin>>a;
    	return 0;
    }
    
    
    

    一些细节的地方说明,请看源码中的注释,谢谢!





  • 相关阅读:
    eclipse-SDK-3.7-win32;eclipse-java-indigo-win32;eclipse-jee-indigo-win32 区别(ZZ)
    Marketplace Client- Download
    Log4J2基本配置
    Map 迭代 两种方法
    Python Argparse模块
    Python操作Memcached
    MySQL参数调优
    Nginx调优
    JavaScript知识点总结[部分]
    python optparser模块
  • 原文地址:https://www.cnblogs.com/NewWork/p/3260542.html
Copyright © 2011-2022 走看看