比如我们要取系统的日志信息,如果先获取到日志个数然后再分配空间的话,时间会比较长,影响效率。如果使用Vector动态添加的话,问题就解决了。在这个例子里,自定义了一个类,在类中使用双重的Vector来保存信息。
/*----------------------------------------------------------------
// Copyright (C) 2004 浪潮(北京)电子信息有限公司
// 版权所有。
//
// 文件名:bufArrayList.h
// 文件功能描述:这个类用来保存从动态连接库中显示的信息,采用了多层Vector的形式。
// 先保存每一个实例的属性和值到一个Vector中,然后在保存其实例到另外
// 一个Vector列表中。
//
// 作者:刘正伟
// 创建标识:2005/8/24
//
//----------------------------------------------------------------*/
#pragma once
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
#include
<
vector
>
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
#ifndef BUFFARRAYDLL
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
#define
BUFFARRAYDLLEXTEN __declspec(dllimport)
#else
#define
BUFFARRAYDLLEXTEN __declspec(dllexport)
#endif
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
using
namespace
std ;
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
//
coputerInfo
typedef
struct
BUFFARRAYDLLEXTEN _PerportyVauleMAP
//
Win32_ComputerSystem
{
//属性名称
char key[256] ;
//属性名称对应的值
char vaule[256];
}
PerportyVauleMAP;
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
//
定义一个Vector用来保存每一个实例的所有属性信息,里面保存的是一个个PerportyVauleMAP结构数组
typedef vector
<
PerportyVauleMAP
>
INSTANCEVECTOR;
//
定义了一个Vector用来保存所有的实例列表,里面保存的是INSTANCEVECTOR类型
typedef vector
<
INSTANCEVECTOR
>
INSTANCELISTVECTOR;
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
class
BUFFARRAYDLLEXTEN CBufArrayList
{
public:
CBufArrayList(void);
~CBufArrayList(void);
private:
//STRINFGVECTOR strParamName;
INSTANCELISTVECTOR _instanceListVt;
//set the property's value to the vector
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
public:
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
/*
* 函数介绍 : 添加一个实例的某一个属性名称和属性值;
* 输入参数 : int vtLocation,Vector 的索引号,string name 属性名称, string value, 要赋予的值;
* 输出参数 : null;
* 返回值 : INSTANCEVECTOR类型, 返回加入之后保存实例的Vector.SetPerportyAndVaule
*/
void SetPerportyAndVaule(int vtLocation,char* name,char* value);
/*
* 函数介绍 : 将一个实例添加到实例列表中;
* 输入参数 : int& vtLocation
* 输出参数 : vtLocation;
* 返回值 : void.AddNewInstance
*/
void AddNewInstance(int& vtLocation);
/*
* 函数介绍 : 清除一个实例列表中保存的属性和值信息
* 输入参数 : null;
* 输出参数 : null;
* 返回值 : void.
*/
void ClearAll();
/*
* 函数介绍 : 根据实例和属性的位置,枚举出属性的名称和值
* 输入参数 : int instanceNumber,实例所在的位置int propertyNumber,属性所在的位置,PerportyVauleMAP &hash;属性结构
* 输出参数 : PerportyVauleMAP;
* 返回值 : bool 是否成功.
*/
bool GetPropertyValue(int instanceNumber,int propertyNumber,PerportyVauleMAP &hash);
/*
* 函数介绍 : 返回实例个数
* 输入参数 : null;
* 输出参数 : null;
* 返回值 : 实例个数
*/
int GetInstanceListSize();
/*
* 函数介绍 : 返回属性个数
* 输入参数 : null;
* 输出参数 : null;
* 返回值 : 属性个数
*/
int GetPropertySize();
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
}
;
CPP文件:
#include
"
StdAfx.h
"
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
#define
BUFFARRAYDLL
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
#include
"
./bufarraylist.h
"
CBufArrayList::CBufArrayList(
void
)
{
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
}
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
CBufArrayList::
~
CBufArrayList(
void
)
{
_instanceListVt.clear();
}
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
/*
* 函数介绍 : 添加一个实例的某一个属性名称和属性值;
* 输入参数 : string name 属性名称, string value, 要赋予的值;
* 输出参数 : null;
* 返回值 : INSTANCEVECTOR类型, 返回加入之后保存实例的Vector.
*/
void
CBufArrayList::SetPerportyAndVaule(
int
vtLocation,
char
*
name,
char
*
value)
{
PerportyVauleMAP pmap ;
strcpy(pmap.key,name);
strcpy(pmap.vaule, value);
(_instanceListVt[vtLocation]).push_back(pmap);
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
}
/*
* 函数介绍 : 将一个实例添加到实例列表中;
* 输入参数 : INSTANCEVECTOR vt 保存一个实例信息的Vector;
* 输出参数 : null;
* 返回值 : void.
*/
void
CBufArrayList::AddNewInstance(
int
&
vtLocation)
{
INSTANCEVECTOR vt;
_instanceListVt.push_back(vt);
vtLocation = _instanceListVt.size() -1;
}
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
/*
* 函数介绍 : 清除一个实例列表中保存的所有实例信息,也清除实例Vector信息
* 输入参数 : null;
* 输出参数 : null;
* 返回值 : void.
*/
void
CBufArrayList::ClearAll()
{
_instanceListVt.clear();
}
/*
* 函数介绍 : 返回属性个数
* 输入参数 : null;
* 输出参数 : null;
* 返回值 : 属性个数
*/
int
CBufArrayList::GetPropertySize()
{
if (!_instanceListVt.empty())
{
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
INSTANCEVECTOR vt = (INSTANCEVECTOR) _instanceListVt[0];
if (vt.empty())
{
return 0;
}
else
{
return vt.size();
}
}
else
{
return 0;
}
}
/*
* 函数介绍 : 返回实例个数
* 输入参数 : null;
* 输出参数 : null;
* 返回值 : 实例个数
*/
int
CBufArrayList::GetInstanceListSize()
{
int count = 0;
if (_instanceListVt.empty())
{
return 0;
}
else
{
count = _instanceListVt.size();
return count;
}
}
/*
* 函数介绍 : 根据实例和属性的位置,枚举出属性的名称和值
* 输入参数 : int instanceNumber,实例所在的位置int propertyNumber,属性所在的位置,PerportyVauleMAP &hash;属性结构
* 输出参数 : PerportyVauleMAP;
* 返回值 : bool 是否成功.
*/
bool
CBufArrayList::GetPropertyValue(
int
instanceNumber,
int
propertyNumber,PerportyVauleMAP
&
hash)
{
if (!_instanceListVt.empty())
{
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
INSTANCEVECTOR vt = (INSTANCEVECTOR) _instanceListVt[instanceNumber];
if (vt.empty())
{
return false;
}
else
{
PerportyVauleMAP p = (PerportyVauleMAP)vt[propertyNumber];
strcpy(hash.key , p.key);
strcpy(hash.vaule, p.vaule);
}
}
else
{
return false;
}
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
return true;
}
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
使用:
#include
"
stdafx.h
"
#include
"
BufArrayList.h
"
int
_tmain(
int
argc, _TCHAR
*
argv[])
{
CBufArrayList buf;
int index = 0;
for(int i=0;i<20000;i++)
{
buf.AddNewInstance(index);
printf("index:%d",index);
buf.SetPerportyAndVaule(index,"name","sundy");
buf.SetPerportyAndVaule(index,"age","123");
}
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
getchar();
return 0;
}
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/83e7eae1993e7ee592fd15715f34ef57.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7325b0f18b89a91add45cac758a7cb3b.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/83e7eae1993e7ee592fd15715f34ef57.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7325b0f18b89a91add45cac758a7cb3b.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/83e7eae1993e7ee592fd15715f34ef57.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/eee1f5d949a2febc1195073b15d83c84.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6dc3fe7f8bf4968d95592c6d180bd2f7.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/eee1f5d949a2febc1195073b15d83c84.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6dc3fe7f8bf4968d95592c6d180bd2f7.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/eee1f5d949a2febc1195073b15d83c84.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6dc3fe7f8bf4968d95592c6d180bd2f7.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/eee1f5d949a2febc1195073b15d83c84.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6dc3fe7f8bf4968d95592c6d180bd2f7.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/eee1f5d949a2febc1195073b15d83c84.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6dc3fe7f8bf4968d95592c6d180bd2f7.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/eee1f5d949a2febc1195073b15d83c84.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6dc3fe7f8bf4968d95592c6d180bd2f7.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7325b0f18b89a91add45cac758a7cb3b.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
CPP文件:
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/83e7eae1993e7ee592fd15715f34ef57.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7325b0f18b89a91add45cac758a7cb3b.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/83e7eae1993e7ee592fd15715f34ef57.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7325b0f18b89a91add45cac758a7cb3b.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/83e7eae1993e7ee592fd15715f34ef57.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7325b0f18b89a91add45cac758a7cb3b.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/83e7eae1993e7ee592fd15715f34ef57.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7325b0f18b89a91add45cac758a7cb3b.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/83e7eae1993e7ee592fd15715f34ef57.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7325b0f18b89a91add45cac758a7cb3b.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/83e7eae1993e7ee592fd15715f34ef57.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7325b0f18b89a91add45cac758a7cb3b.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/83e7eae1993e7ee592fd15715f34ef57.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7325b0f18b89a91add45cac758a7cb3b.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/83e7eae1993e7ee592fd15715f34ef57.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7325b0f18b89a91add45cac758a7cb3b.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/83e7eae1993e7ee592fd15715f34ef57.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7325b0f18b89a91add45cac758a7cb3b.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/83e7eae1993e7ee592fd15715f34ef57.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/eee1f5d949a2febc1195073b15d83c84.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/eee1f5d949a2febc1195073b15d83c84.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6dc3fe7f8bf4968d95592c6d180bd2f7.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/eee1f5d949a2febc1195073b15d83c84.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6dc3fe7f8bf4968d95592c6d180bd2f7.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6dc3fe7f8bf4968d95592c6d180bd2f7.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/eee1f5d949a2febc1195073b15d83c84.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6dc3fe7f8bf4968d95592c6d180bd2f7.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7325b0f18b89a91add45cac758a7cb3b.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/83e7eae1993e7ee592fd15715f34ef57.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7325b0f18b89a91add45cac758a7cb3b.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/83e7eae1993e7ee592fd15715f34ef57.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/eee1f5d949a2febc1195073b15d83c84.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6dc3fe7f8bf4968d95592c6d180bd2f7.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/eee1f5d949a2febc1195073b15d83c84.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6dc3fe7f8bf4968d95592c6d180bd2f7.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7325b0f18b89a91add45cac758a7cb3b.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/83e7eae1993e7ee592fd15715f34ef57.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7325b0f18b89a91add45cac758a7cb3b.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/83e7eae1993e7ee592fd15715f34ef57.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/eee1f5d949a2febc1195073b15d83c84.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/eee1f5d949a2febc1195073b15d83c84.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6dc3fe7f8bf4968d95592c6d180bd2f7.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/eee1f5d949a2febc1195073b15d83c84.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6dc3fe7f8bf4968d95592c6d180bd2f7.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6dc3fe7f8bf4968d95592c6d180bd2f7.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/eee1f5d949a2febc1195073b15d83c84.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6dc3fe7f8bf4968d95592c6d180bd2f7.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7325b0f18b89a91add45cac758a7cb3b.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
使用:
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/83e7eae1993e7ee592fd15715f34ef57.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/eee1f5d949a2febc1195073b15d83c84.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6dc3fe7f8bf4968d95592c6d180bd2f7.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb2de336ec3b73b1a96a6048f939cdf.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7325b0f18b89a91add45cac758a7cb3b.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/773ae66b7206f4db6286910ff9e6e4a8.gif)