IE盒子

搜索
楼主: 石必成

operator<=> for C++20入门篇

[复制链接]

0

主题

4

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2022-12-21 16:52:11 | 显示全部楼层
受教[赞]
回复

使用道具 举报

2

主题

5

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2022-12-21 16:53:11 | 显示全部楼层
请问现在哪个版本编译器支持c++20
回复

使用道具 举报

1

主题

5

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2022-12-21 16:54:11 | 显示全部楼层
为什么最后对于operator&lt;=&gt;不是问题,是operator&lt;=&gt;不隐式转换了吗
[疑惑]
回复

使用道具 举报

1

主题

2

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2022-12-21 16:54:39 | 显示全部楼层
&lt;=&gt;最多只允许一个参数隐私转换,不同时允许两个。
回复

使用道具 举报

0

主题

6

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2022-12-21 16:54:45 | 显示全部楼层
我竟然不知道bool operator ==(const X) = default;会自动生成比较成员变量的代码[捂脸]
回复

使用道具 举报

2

主题

4

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2022-12-21 16:54:57 | 显示全部楼层
c++20以前不能。
回复

使用道具 举报

1

主题

4

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2022-12-21 16:55:17 | 显示全部楼层
原来如此
回复

使用道具 举报

3

主题

6

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2022-12-21 16:55:50 | 显示全部楼层
clang trunk 体验
回复

使用道具 举报

1

主题

7

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2022-12-21 16:56:11 | 显示全部楼层
我记得默认&lt;=&gt;在一篇提案之后就不会生成等于比较了(而且正好也是拿vector说明默认&lt;=&gt;生成的operator==性能不够行)。而且刚看的 https://en.cppreference.com/w/cpp/language/default_comparisons 也说不会生成==和!=
回复

使用道具 举报

1

主题

6

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2022-12-21 16:56:38 | 显示全部楼层
提案中间经过了很多版本,在某一个版本可能确实如你所说。最终版本是会生成==,除非你手动把== delete掉,或者重新申明一个==。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表