设为首页
收藏本站
注册账号
登录
|
搜索
搜索
本版
文章
帖子
用户
门户
Portal
论坛
BBS
网赚问答
科教问答
平面设计
网站制作
软件开发
网络运维
网教网
»
论坛
›
网教网
›
软件开发
›
设计一种新的系统编程语言
1
2
/ 2 页
返回列表
发新帖
楼主:
生活中的大小事儿
设计一种新的系统编程语言
[复制链接]
佛山不绣钢制品厂
佛山不绣钢制品厂
当前离线
积分
0
0
主题
1
帖子
0
积分
新手上路
新手上路, 积分 0, 距离下一级还需 50 积分
新手上路, 积分 0, 距离下一级还需 50 积分
积分
0
发消息
发表于 2022-9-21 14:21:08
|
显示全部楼层
感觉这样限制会比rust更严格,可能很多东西没法写。如果用这么简单的指针生存期模型就能做到内存安全,那应该早就有人做出来了。
回复
使用道具
举报
木子月色
木子月色
当前离线
积分
0
0
主题
1
帖子
0
积分
新手上路
新手上路, 积分 0, 距离下一级还需 50 积分
新手上路, 积分 0, 距离下一级还需 50 积分
积分
0
发消息
发表于 2022-9-21 14:21:30
|
显示全部楼层
像是void foo(A* a, int* b) { a.b = b; } 这样的函数很多情况下其实是安全的。但是目前只能一刀切的禁止了。如果要标记每个变量的生命期,会增加复杂度。例如我想过这样的语法:void foo(A* a, int* b) lifetime(a <= b) { a.b = b;} 表示a的生命期比b短。
回复
使用道具
举报
鸿雁陈亮
鸿雁陈亮
当前离线
积分
0
0
主题
1
帖子
0
积分
新手上路
新手上路, 积分 0, 距离下一级还需 50 积分
新手上路, 积分 0, 距离下一级还需 50 积分
积分
0
发消息
发表于 2022-9-21 14:21:43
|
显示全部楼层
在rust的模型中,生存期还与型变有关,禁止生存期的协变逆变会让大多数场景没法编译,太难了
回复
使用道具
举报
1
2
/ 2 页
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
网络运维
科教问答
快速回复
返回顶部
返回列表