zoukankan      html  css  js  c++  java
  • C++ std::vector 基本用法

    #include <iostream>
    #include <vector>
    using namespace std;
    
    
    
    int main() 
    { 
    	// 初始化的方式
    	std::vector<int> vec1;
    	//std::vector<int> vec2(1750000);// 7G
    	std::vector<int> vec2(1*1024*1024*1024*1/4, 1);// 1G
    
    	std::vector<int> vec3;
    	vec3.assign(10,0);
    
    	std::vector<int> vec4;
    	vec4.resize(10);
    
    	bool is = vec2 == vec3;
    
    	// 使用数组初始化
    	int ar[10] = {1,2,3,4,5,6,7,8,9,0};
    	std::vector<int> vec5(ar, ar+10);
    
    
    	// 深拷贝
    	std::vector<int> vec6(vec5);
    	vec6[5] = 777;
    
    	// 深拷贝
    	std::vector<int> vec7 = vec5;
    	vec7[5] = 777;
    
    	// 取值 at 与 []
    	try
    	{
    		auto a1 = vec7.at(110); // 低效率,带检查。异常可以被捕捉。 invalid vector<T> subscript
    		//auto a2 = vec7[110];  // 高效率,没检查。程序直接崩溃。
    	}
    	catch (const std::exception& e)
    	{
    		cout << e.what() << endl; 
    	}
    
    	int v_back = vec7.back();
    	int v_frone = vec7.front();
    
    	vec7.pop_back();		// 去除最后一个元素
    	vec7.push_back(999);
    
    	vec2.clear();
    	{
    		size_t v_capa = vec2.capacity();// = 268,435,456‬,约 1G 内存
    		size_t v_size = vec2.size();    // = 0
    	}
    
    	vec2.shrink_to_fit();				// 此法释放内存。但是书上说并非每次都可以奏效。
    	{
    		size_t v_capa = vec2.capacity();// = 0
    		size_t v_size = vec2.size();	// = 0
    	}
    }
    

      

  • 相关阅读:
    团队项目----数据库SQL语句学习总结与实践
    团队项目----德州扑克数据库设计之改进版
    期末项目《员工考勤管理系统》
    Applet
    Json
    study of javaserver faces lifecycle
    Session
    xml的用途,定义,原理,以及前景
    互联网应用于企业级应用的区别
    JavaEE体系架构
  • 原文地址:https://www.cnblogs.com/alexYuin/p/12026257.html
Copyright © 2011-2022 走看看