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;
    }
    
    
    


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





  • 相关阅读:
    web自动化中的上传操作
    HTTP协议
    创建一个get测试
    下载安装
    unittest 介绍
    selenium常用操作
    video视频操作
    调用JavaScript
    下拉框操作
    弹窗操作
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3220177.html
Copyright © 2011-2022 走看看