楼主: 山青云淡

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

[复制链接]

0

主题

6

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2023-1-7 19:27:40 | 显示全部楼层
受教[赞]
回复

使用道具 举报

1

主题

3

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2023-1-7 19:27:56 | 显示全部楼层
请问现在哪个版本编译器支持c++20
回复

使用道具 举报

3

主题

7

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2023-1-7 19:28:34 | 显示全部楼层
为什么最后对于operator&lt;=&gt;不是问题,是operator&lt;=&gt;不隐式转换了吗
[疑惑]
回复

使用道具 举报

4

主题

7

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2023-1-7 19:28:46 | 显示全部楼层
&lt;=&gt;最多只允许一个参数隐私转换,不同时允许两个。
回复

使用道具 举报

1

主题

8

帖子

7

积分

新手上路

Rank: 1

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

使用道具 举报

5

主题

11

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2023-1-7 19:30:23 | 显示全部楼层
c++20以前不能。
回复

使用道具 举报

2

主题

7

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2023-1-7 19:30:36 | 显示全部楼层
原来如此
回复

使用道具 举报

7

主题

15

帖子

29

积分

新手上路

Rank: 1

积分
29
发表于 2023-1-7 19:31:10 | 显示全部楼层
clang trunk 体验
回复

使用道具 举报

3

主题

8

帖子

14

积分

新手上路

Rank: 1

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

使用道具 举报

2

主题

9

帖子

12

积分

新手上路

Rank: 1

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

使用道具 举报

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

本版积分规则

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