江湖救急 不同的list能否放进一个list里面

加盾男爵 2017-10-13 11:05:10
比如有两个list分别存放int和double
list<int> A;
list<double>B;
现在这里有一个list ALL,他的每个元素都是一个list,那现在A 和 B能否放进这个ALL里面,如果可以那该怎么写?

list<list<??>> ALL?
...全文
384 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
大尾巴猫 2017-10-16
  • 打赏
  • 举报
回复
如果只是简单的类型,比如int和double,可以考虑用个union类型,这样就解决的同时存放两种数据类型 简单的例子:
#include <iostream>
#include <list>

union Data
{
	int i;
	double d;
};

int main()
{
	using std::list;
	list<Data> ilist;
	list<Data> dlist;
	list<list<Data>> alllist;
	Data a1;
	a1.i = 1;
	Data d1;
	d1.d = 2.3;
	ilist.push_back(a1);
	dlist.push_back(d1);
	alllist.push_back(ilist);
	alllist.push_back(dlist);
	return 0;
}
「已注销」 2017-10-16
  • 打赏
  • 举报
回复
引用 5 楼 elitah 的回复:
这样可以吗?

std::list<int> A;
std::list<double> B;
std::list<void *> ALL;

ALL.push_back(&A);
ALL.push_back(&B);
存进去的是指针,调用时候肯定要强制转换才行
赵4老师 2017-10-14
  • 打赏
  • 举报
回复
电脑内存或文件内容或传输内容只是一个一维二进制字节数组及其对应的二进制地址; 人脑才将电脑内存或文件内容或传输内容中的这个一维二进制字节数组及其对应的二进制地址的某些部分看成是整数、有符号数/无符号数、浮点数、复数、英文字母、阿拉伯数字、中文/韩文/法文……字符/字符串、汇编指令、函数、函数参数、堆、栈、数组、指针、数组指针、指针数组、数组的数组、指针的指针、二维数组、字符点阵、字符笔画的坐标、黑白二值图片、灰度图片、彩色图片、录音、视频、指纹信息、身份证信息……
「已注销」 2017-10-13
  • 打赏
  • 举报
回复
这样可以吗?

std::list<int> A;
std::list<double> B;
std::list<void *> ALL;

ALL.push_back(&A);
ALL.push_back(&B);
呔妖怪来嘛 2017-10-13
  • 打赏
  • 举报
回复
boost::any
LEandLA 2017-10-13
  • 打赏
  • 举报
回复
对啊,肯定不行的,list存放的数据类型要是一致的。
加盾男爵 2017-10-13
  • 打赏
  • 举报
回复
引用 1 楼 LEandLA 的回复:
你是想让ALL这个list既可以存放int型数据又可以存放double型数据?
我的意识是这个ALL存放的数据是其他的list,然后存入ALL的list是不是只能有一种数据 比如 list<int> A; list<int> B; list<list<int>> ALL; ALL.push_back(A); ALL.push_back(B); 这样没问题,但如果B的类型是list<double> B,那他能否和A一起放入ALL里面?
LEandLA 2017-10-13
  • 打赏
  • 举报
回复
你是想让ALL这个list既可以存放int型数据又可以存放double型数据?
paschen 版主 2017-10-13
  • 打赏
  • 举报
回复
即使他们都是list,但模板参数不同,所以他们是不同的类型,你可以使用模板来解决
  • 打赏
  • 举报
回复
std::tuple不就是干这事的嘛 auto mytuple1 = std::make_tuple(A, B); auto mytuple2 = std::make_tuple(C, D); auto alltuples = std::tuple_cat(mytuple1, mytuple2);
hh1436 2017-10-13
  • 打赏
  • 举报
回复
这样是不行的。
开心秋水 2017-10-13
  • 打赏
  • 举报
回复
你好,不可以
大风扯 2017-10-13
  • 打赏
  • 举报
回复
觉得4楼的可行吧。

64,686

社区成员

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

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