请教高手如何将数组压入queue队列中

xblan 2005-01-09 02:49:21
一个数组
char i[4]={0x00,0x01,0x02,0x03};
queue<这里定义什么类型> j;

每次压入数组中的数据,而不是指针,怎样写?
...全文
1869 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
javamax 2005-01-09
  • 打赏
  • 举报
回复
重载那个push函数,现有的是不能满足你的
c_jj 2005-01-09
  • 打赏
  • 举报
回复
还是用vector吧

也可能会这样使用
//char *buf;
typedef vector<char> vchar;
queue<vchar> j;
for (i=3;i<10;i++)
{
//buf = new char[i];
vchar buf(i);

for (k=0;k<i;k++)
buf[k]=k;

j.push(buf);
// delete[] buf;
}
xblan 2005-01-09
  • 打赏
  • 举报
回复
我要push的是value
push(i[n]);这样压入的只是一个字符
我是想让它一次进入整个数组
push(char i[5]={'h','e','l','l','o'});
就是这个意思,不是要指针,也不是单个字符
goodluckyxl 2005-01-09
  • 打赏
  • 举报
回复
你到底什么意思?
你压数组的所有的值,那含义就是把所有数组的value[值] push 进去
必须要压入值
而 char*, cout重载了
所以只要首地址以 '\0'结束
你到底要做什么样子?
char i[5]={'h','e','l','l','o'};怎么会不允许?
你要怎么样压入呢》?
queue<char> j;
push(i[n]);不可以吗?
//还是到底做成什么样子?
这东西简单的就是两种情况,value or pointer?
xblan 2005-01-09
  • 打赏
  • 举报
回复
queue允许压入字符串char* i="hello";

而数组char i[5]={'h','e','l','l','o'};怎么会不允许?
xblan 2005-01-09
  • 打赏
  • 举报
回复
也就是说
queue<动态数组> j;
???
whoho 2005-01-09
  • 打赏
  • 举报
回复
这样不行, 要借助vector<>之类的东西
单纯的数组没有“值语义”或者叫“第一类语义”
对STL容器来说,它的元素必须具有值语义
xblan 2005-01-09
  • 打赏
  • 举报
回复
您可能还没明白我的意思,我是想把元素push,不是把指针压入
goodluckyxl 2005-01-09
  • 打赏
  • 举报
回复
char i[4]={0x00,0x01,0x02,0x03};//这样定义可不行
除非 i[4]定义为 static或者 全局变量
否则出了函数体,这个局部对象就要释放
你push的地址也没有意义了

char *i = new char[4];
然后赋值,push char*就可以了
xblan 2005-01-09
  • 打赏
  • 举报
回复
也可能会这样使用
char *buf;
queue<?????> j;
for (i=3;i<10;i++)
{
buf = new char[i];

for (k=0;k<i;k++)
*(buf+k)=k;

j.push(buf);
delete[] buf;
}
xblan 2005-01-09
  • 打赏
  • 举报
回复
我的意思是,将数组所有元素压入队列中(并不是将单个元素压入),就好像字符串一样
比如
String i="hello";
queue<String> j;
i.push(i);

我的意思并不是
char i[4]={0x00,0x01,0x02,0x03};
queue<char> j;
i.push(i[0]);
i.push(i[1]);
i.push(i[2]);
i.push(i[3]);
willko 2005-01-09
  • 打赏
  • 举报
回复
楼主的意思是不是说把数组的值存如队列。
可以自定义个类。
goodluckyxl 2005-01-09
  • 打赏
  • 举报
回复
queue<char> j; //去i[m]数据存放
queue<int> j;
---------------------

queue<char*> j ; //取地址存放

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧