- 主题:[求助]新手请教有没有类似于元组的容器但是元素不区分先后顺序
比如说
myTuple<uint64_t,uint64_t>a(1,2);
myTuple<uint64_t,uint64_t>b(2,1);
a和b是等同的。可以自己写个类,不过还是想偷懒请教下看看stl有没有现成的,百度搜了搜貌似没找到
--
FROM 119.57.167.*
std::set有什么不好吗?
--
FROM 61.148.244.*
用std::map<key, value>
key是两个数的和,value是那两个数
--
修改:z16166 FROM 114.254.115.*
FROM 114.254.115.*
tuple 里的东西类型相同吗?如果可能会类型不同,看你的想法好像是想要个 std::set<std::any> 这样的东西?
【 在 zhongxue (zhongxue) 的大作中提到: 】
: 比如说
: myTuple<uint64_t,uint64_t>a(1,2);
: myTuple<uint64_t,uint64_t>b(2,1);
: ...................
--
FROM 103.90.178.*
逻辑上是无序的,但存储总是有序的,所以没啥意义
【 在 zhongxue 的大作中提到: 】
: 比如说
: myTuple<uint64_t,uint64_t>a(1,2);
: myTuple<uint64_t,uint64_t>b(2,1);
: ...................
--
FROM 149.28.188.*
谢谢回复,因为元素的类型有可能不一样,所以set不太合适
【 在 s3aker 的大作中提到: 】
: std::set有什么不好吗?
--
修改:zhongxue FROM 122.115.237.*
FROM 122.115.237.*
谢谢回复,项目的需求是元素的个数2~5个,元素类型限定在uint8_t,uint16_t,uint32_t,uint64_t和double,所以用map感觉也不太好实现
【 在 z16166 的大作中提到: 】
: 用std::map<key, value>
: key是两个数的和,value是那两个数
--
FROM 122.115.237.*
谢谢回复,元素的个数2~5个,元素类型限定在uint8_t,uint16_t,uint32_t,uint64_t和double,所以会出现<uint64_t,uint64_t,double>这样的组合
【 在 ArchLinux 的大作中提到: 】
: tuple 里的东西类型相同吗?如果可能会类型不同,看你的想法好像是想要个 std::set<std::any> 这样的东西?
:
--
FROM 122.115.237.*
嗯,是的,只是项目上有这样的业务需求
【 在 Bernstein 的大作中提到: 】
: 逻辑上是无序的,但存储总是有序的,所以没啥意义
:
--
FROM 122.115.237.*
std::set<std::variant<uint8_t, uint16_t, uint32_t, uint64_6, double>>
【 在 zhongxue 的大作中提到: 】
: 谢谢回复,元素的个数2~5个,元素类型限定在uint8_t,uint16_t,uint32_t,uint64_t和double,所以会出现<uint64_t,uint64_t,double>这样的组合
--
FROM 115.199.104.*