如何用C++将vector数组定义成全局变量

vector数组的维数是变量啊能不能给个实例!!!太谢谢了!... vector数组的维数是变量啊
能不能给个实例!!!太谢谢了!
展开
 我来答
百度网友96ffcf7
推荐于2016-11-13 · 知道合伙人互联网行家
百度网友96ffcf7
知道合伙人互联网行家
采纳数:22721 获赞数:118725
从事多年网络方面工作,有丰富的互联网经验。

向TA提问 私信TA
展开全部

一个分配器被vector所使用,标准库只有一些分配器的基本界面,要写自己的分配器,就几乎全都要自己实现
如果用的是MinGW,可以这样写:

#include <array>
#include <vector>
#include <ext/array_allocator.h>
int *packaged_pointer;
namespace gxx = __gnu_cxx;
typedef  gxx::array_allocator<int,std::array<int,100>>  my_allocator;
int main()
{
   std::vector<int,my_allocator> vector_obj(1,0 packaged_pointer);
}
ly48694869
2012-01-16
知道答主
回答量:57
采纳率:0%
帮助的人:25.4万
展开全部
和普通定义全局变量一样,只不过要指定模板参数,例如:
std::vector<TYPE> v;
TYPE为变量类型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
csuideal
2012-01-16 · TA获得超过338个赞
知道小有建树答主
回答量:150
采纳率:0%
帮助的人:186万
展开全部
楼主对于vector的理解有点问题吧,vector 只能用来声明一维的变量,怎么能动态呢,除非你里面的元素可以声明成多维的结构体,你只能声明vector<int>或者vector<char>,这种,至于分配器,一般不用重新写吧,只要实现了标准库,使用默认的就可以了,至于数组大小,这个对于使用者这不需要担心,他可以自动扩展,如果你想使用多维的话,可以封装到结构体里面
追问
原来我用的是3维指针数组,但出现问题了。所以改用vector了。高手帮我分析分析,如何用vector代替3维指针数组,且保存数据能在不同函数中使用?!!多谢了!!盼急回复!
追答
首先你要明白你的需求是什么,就是你想要做什么,如果直接使用三维数组的话有方案:
1、vector>> 这种是三维的,包含了最外层的vector的
2、定义一个结构体:struct st{int a[][][]}; vector 这个是三维的,不包括外面vector,里面的结构体就是三维的
3、struct st{int a[][]}; vector,里面是二维,加上vector自身,就可以变成三维了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帅得有点坏
2012-01-16 · TA获得超过1149个赞
知道小有建树答主
回答量:463
采纳率:0%
帮助的人:478万
展开全部
在函数外面定义就行了,

和普通的全局变量定义方法一样!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友28b4182
推荐于2018-03-11 · TA获得超过7222个赞
知道大有可为答主
回答量:4847
采纳率:100%
帮助的人:1855万
展开全部
#include"stdio.h"
#include<string.h>
#include<vector>
using namespace std ;
vector<int >v;
int main(void)
{

return 0;
}
追问
数组维数是变量!显示没有声明,该怎么办?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式