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

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





  • 相关阅读:
    函数指针
    动态内存
    char*和char[]的区别
    C语言基本数据类型大小
    html5新特性localStorage和sessionStorage
    Swoole实现h5版聊天室笔记
    php使用mysql之sql注入(功)
    Http协议工作特点和工作原理笔记
    原生js使用ajax
    php常用的几个预定义变量
  • 原文地址:https://www.cnblogs.com/NewWork/p/3260542.html
Copyright © 2011-2022 走看看