C_and_CPP 板


LINE

最近看到一则windows以Rust改写部分程式的新闻,仔细一查发现Linux似乎也打算将Rust作为内核开发的第二语言,让我对Rust这个语言产生很大的兴趣。 我最先学会的语言是C,後来在学习物件导向的时候开始接触到C++,对於C++提供的语言特性及STL印象深刻。虽然不能说写的非常好,但感觉C++强化了很多C在记忆体管理上容易出现问题的地方。目前如果环境许可,C++往往是我会优先选择的语言之一。 快速搜寻了一下Rust及C++的比较,大部分都是着重在将两个语言的优缺点条列比较,比如Rust在记忆体管理跟编译讯息上更为突出,而C++则是保持对C的相容跟编译速度更为出色,编译出来的执行效率两者似乎在伯仲之间,都非常的优秀。 但是看了几项比较资料後,却没有发现两大作业系统选择了较为年轻的Rust而非长时间发展的C++的关键原因。请问有对Rust较为熟悉的先进可以帮忙解惑吗? 谢谢。 --
QR Code



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.240.206.52 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1687786427.A.59E.html
1F:→ ck574b027: 没发现c++的优点根本没差吗,编译速度到了大专案还不是 06/26 21:39
2F:→ ck574b027: 得去泡咖啡上厕所 06/26 21:39
3F:推 flarehunter: 因为C++的记忆体漏洞太难防了 Rust直接从语言上解决 06/26 21:43
请问C++即便是使用vector这类的安全资料结构,善用智慧指标等各种新特性,依然很难写出记忆体安全的程式吗?
4F:→ flarehunter: https://www.ithome.com.tw/news/154539 06/26 21:43
※ 编辑: icetofux (111.240.206.52 台湾), 06/26/2023 21:49:33
5F:→ lycantrope: Rust在compile时就会抓你记忆体漏洞 06/26 21:57
6F:→ ck574b027: 写得出来跟检查得出来是两回事 06/26 22:34
7F:推 CoNsTaR: 建议去读 linear types 或 quantitative types,Rust 用 06/26 23:00
8F:→ CoNsTaR: 的是 affine types,它和 linear types 的差别在它不强 06/26 23:00
9F:→ CoNsTaR: 制所有值一定都要被 consume 06/26 23:00
10F:→ CoNsTaR: 对比 C++ 你想要怎麽恶搞都一样给你 type check,反正 ru 06/26 23:00
11F:→ CoNsTaR: ntime 再 crash 给你看,超不负责任 06/26 23:00
12F:推 jheli: compile阶段就抓到漏洞总比出事後再debug好 06/27 00:23
13F:→ F04E: 说超不负责的也很奇怪 啊不就是给你方便你当随便... 06/27 01:11
14F:推 CoNsTaR: 楼上,方便在哪?给了什麽方便? 06/27 02:45
15F:推 oToToT: 个人觉得rust有一定的时间是花在说服编译器我的code跑起来 06/27 02:52
16F:→ oToToT: 没问题,C++就没那麽多规矩 06/27 02:52
17F:推 flarehunter: https://shorturl.at/qvzGO 举例来说 当我要传一个 06/27 08:10
18F:→ flarehunter: unique_ptr<T>的物件到函式但没有要给函式ownership 06/27 08:10
19F:→ flarehunter: 照chromium guide是传一个raw pointer 06/27 08:11
20F:→ flarehunter: 呼叫函式的人要"手动"保证物件的lifetime够久 06/27 08:12
21F:→ flarehunter: 如果没弄好就会有use-after-free的问题 06/27 08:13
22F:→ F04E: 连哪里方便都不知道了还是别用了XD 06/27 11:16
23F:嘘 CoNsTaR: 所以我说和 Rust 比起来方便在哪啊? 06/27 11:27
24F:嘘 CoNsTaR: 你说给方便当随便,那到底方便在哪讲出来啊? 06/27 11:30
25F:→ oToToT: to楼上,我觉得我不需要标lifetime说服编译器我是对的就很 06/27 17:14
26F:→ oToToT: 方便,但当然Rust要标lifetime的情况不是非常常见 06/27 17:15
27F:推 chaos1993: 想请问即使用smart pointer,要怎麽恶搞才可以type ch 06/27 22:50
28F:→ chaos1993: eck过然後runtime crash? 06/27 22:50
29F:→ tinlans: get 它的 raw pointer 出来存到别的物件去, 06/28 02:05
30F:→ tinlans: 再很不小心地由它的解构子 delete 之类的吧 06/28 02:05
31F:→ tinlans: 2 人以上维护的时候有时会出现类似蠢事 06/28 02:06
32F:→ Lhmstu: c++没有从根本上改善c的缺陷 06/28 08:48
33F:→ MasterChang: 不是程式语言不行,是你不行。 06/30 09:58
34F:→ firejox: 我只希望有一天 Rust 能给我有用的错误讯息 06/30 15:16
35F:推 wulouise: rust compile time要求你的lifetime正常,有时候会很卡 06/30 21:42







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP