rust等于C++的最佳实践

回看以前写的一些文章 自己看是回忆 如果是给别人看的 语言还是尽量简洁 技术分享别带情绪(

rust等于C++的最佳实践

Rust填了很多C++的坑,先不说构建和包管理的优秀,语言本身设计的也确实好,而且是针对C++进行的语法优化,这个会用C++的一看就明白,这个是后发语言的优势

劣势是出来的太晚了,生态位已经被占的差不多了,领域被C++统治,虽然很想用Rust写一些东西,可是到头来还是得跟C++


C++中的RVO, Return Value Optimization(返回值优化), 基本手段是直接将返回的对象构造在调用者栈帧上, 消除函数返回对象时不必要的复制操作,从而提升程序运行效率。

这个在C++17后, 被标准明确规定为必须执行的优化之一.


C++简直是把xkcd927体现到最极致的语言

如果你想要做一件事,那可能会有3-4种方法,最简短的方法一般是最旧的方法,不推荐使用但是出于兼容性目的保留。

单说一个错误处理,C++继承了C的出现错误即UB和错误码,并且给了std::error_code包装,然后有异常机制,C++17加入了std::optional<T>,最近还加入了std::expected<T,E>,总共5套

那标准库用的是哪套呢?答案是前4者,vector下标访问失败直接segfault,.at(idx)访问失败抛异常,filesystem同一个api同时有errcode和异常两套函数,用重载区分,最新的ranges::fold_left_first总算是用上了optional,至于expected?祝它成功(


..template做元编程

怎么会有人喜欢一个复杂到LSP有时候都没法运行时分析出的东西

就这么简单的一个set<pair>,它的iterator的rit里的first和second(pair对)居然在LSP里因为模板嵌套太深都没法及时分析出来(不是rit->first不合法,而是LSP没分析出来...)

LSP 指 Language Server Protocol(语言服务器协议),是编辑器/IDE 用来做代码补全、跳转、提示的通用协议。

xkcd927 讽刺的是:标准太多,最后又多了一个"统一所有标准"的新标准。

因为大家都觉得现有标准不好用、不统一,于是各自搞新的,结果越搞越多,最后又有人想"统一所有标准",反而又多了一个标准,陷入循环...

相关推荐
Amos_Web2 小时前
Rspack 源码解析(十):Hash 与 Asset 生成
前端·rust·源码阅读
柯南46682 小时前
【AI开发之Rust】第 12 课:并发模型与同步原语
rust·编程语言
音符犹如代码20 小时前
RustFS 1.0.0 深度解析:GA 之后,它值得替代 MinIO 吗?
rust
qq_452396231 天前
第十三篇:《unsafe Rust 与 FFI:与 C 和系统调用交互》
rust
传奇开心果编程1 天前
【Rust入门练中学】 第1课:从零开始
开发语言·学习·rust
对象存储与RustFS1 天前
跨实现迁移 MinIO→RustFS:mc diff 静默返回才是最容易翻车的一步
后端·rust·开源
doiito(Do It Together)1 天前
【Agent Harness】Gliding Horse 最新进化:从“能学习”到“可验证的自主进化”
人工智能·rust·系统架构·开源
传奇开心果编程2 天前
【Rust入门练中学】第2课:变量、可变性与常量
开发语言·学习·rust