递归火山软件开发平台
标题:
排序相关的语法糖,来看看有多甜?
[打印本页]
作者:
龙纹
时间:
2023-3-7 14:54
标题:
排序相关的语法糖,来看看有多甜?
本帖最后由 龙纹 于 2023-3-8 13:15 编辑
假设有一个自定义类型,3个成员,名字、年龄、工资,如果需要排序这些数据你会怎么做?手写冒泡还是去抄一个排序算法改改用?其实C++标准库提供了非常多的算法,其中就有排序,但是火山原生语法和C++语法存在很大差异,封装到火山难免会多些步骤,但不影响使用,而且写出的代码相当简洁。
代码和输出结果如下:
(, 下载次数: 28)
上传
点击文件名下载附件
(, 下载次数: 35)
上传
点击文件名下载附件
这段代码的意思是把员工信息数组按年龄排序,小的在前面。
如果把这个看作语法糖的话,够不够甜?但正如我前面说的,封装到火山需要多些步骤,不过也仅仅是多敲几个@输出名,类的具体实现如下:
(, 下载次数: 33)
上传
点击文件名下载附件
这个实现依赖C++20,我封装好了模块并解决了一些兼容性问题,才使得这段代码可以在火山中正常运行。
火山的语法相对于C++,尤其是现代C++,显得有些呆板,不够灵活,导致有些代码不能以一个可接受的方式封装到火山中。还好的是火山提供了一些替换符,这个实现就依赖于几个月前更新的@pvpn替换符,希望火山的语法能够不断更新吧,最好是官方能解决一下和C++20的兼容性问题,这样库作者就可以使用较新的C++语法来封装库了。
作者:
htpmcj
时间:
2023-3-9 16:06
火山需要更多楼主一样的大神!
欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/)
Powered by Discuz! X3.4