递归火山软件开发平台

标题: 火山使用C++20范围、协程、概念的简单示例 [打印本页]

作者: 龙纹    时间: 2023-3-9 11:19
标题: 火山使用C++20范围、协程、概念的简单示例
将压缩包中覆盖文件夹内的文件分别复制到对应的火山文件夹内
win_android_chs_free\plugins\vprj_win\classlib\sys\base\libs\win_base\include
win_android_chs_free\plugins\vprj_win\classlib\sys\base\libs\win_base\cpp

然后就可以尝试使用 ranges、coroutine、concepts 了,分别对应范围、协程、概念,火山项目中有简单的使用展示。

我认为火山目前的语法已经足够将协程等特性以一个可用的方式封装进火山了,所以写了个简单的项目给想折腾一下的人。
顺便说下我这么认为的理由,12-12更新之前,你不能创建一个在火山中写不出类型的对象,比如C++中没有默认构造函数的类,有了12-12更新提供的@pvpn语法,你可以这样做,假如有一个创建套接字(文本型)的嵌入式方法,创建套接字("socket"), @pvpn<标识符> = server.accept(); 后续如果使用那么同样传递这个"socket",使用处@pvpn,就可以达到不在火山中创建类型而使用的效果,当然,语法噪音目前是不可避免的。
为什么需要这么麻烦?一部分原因是:如果要使用C++标准提供的协程,那么不管是普通函数还是Lambda(匿名函数),必须要写出返回值类型,而不能是auto,其中存在一些问题,但因为时间太久,忘记细节了。
我之所以做这些也是因为我喜欢现代C++的特性,想将之封装到火山中,合理使用可以极大的帮助我们编写代码,可以参考我之前发的帖子排序相关的语法糖,来看看有多甜?


压缩包:
(, 下载次数: 40)

作者: htpmcj    时间: 2023-3-9 16:09
顶起
作者: shuimiao    时间: 2023-3-9 16:59
c++20可以被vs2019编译吗
作者: 龙纹    时间: 2023-3-9 17:06
shuimiao 发表于 2023-3-9 16:59
c++20可以被vs2019编译吗

可以,VS2022好像全面支持C++20了,部分23也有了,2019应该差不多的,具体可以根据你编译器的版本查看这里:编译器对C++标准的支持情况
作者: 龙纹    时间: 2023-3-9 17:11
shuimiao 发表于 2023-3-9 16:59
c++20可以被vs2019编译吗

可以,你下载例子运行一下就知道了,不方便运行例子的话,还有个回复在审核,审核完了你看那个链接就行了,里面有编译器对特性是否支持的状态。
作者: 80805777    时间: 2023-3-13 16:25
shuimiao 发表于 2023-3-9 16:59
c++20可以被vs2019编译吗

可以,23是实验性的




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4