gpt4 book ai didi

C++初始化一组结构

转载 作者:行者123 更新时间:2023-11-27 22:36:55 25 4
gpt4 key购买 nike

我正在尝试创建一组结构,但我的代码不断出错,而且我在网上找不到任何东西。

struct smove {

int src;
int dst;
};

int main()
{

smove moov;
moov.dst = 1;
moov.src = 2;
set<struct smove> moovs = {moov};
return 0;
}

最佳答案

Set 的值类型需要小于可比性。这就是容器如何知道元素如何相互关联以及以什么顺序(包括确保没有重复)。

短篇小说,制作operator<对于 smove .

长话短说,嗯,更长,因为运算符(operator)需要以某种方式工作,但您可以 read up on that .现在,这是一个使用 std::tie 的简单示例快速获得合法订单:

#include <set>
#include <tuple>

struct smove
{
int src;
int dst;
};

bool operator<(const smove& lhs, const smove& rhs)
{
return std::tie(lhs.src, lhs.dst) < std::tie(rhs.src, rhs.dst);
}

int main()
{
smove moov;
moov.dst = 1;
moov.src = 2;
std::set<smove> moovs = {moov};
}

关于C++初始化一组结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53105854/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com