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 讽刺的是:标准太多,最后又多了一个"统一所有标准"的新标准。

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

相关推荐
怪我冷i9 小时前
Rust 的impl语法详解
开发语言·后端·rust
geovindu13 小时前
rust: Semaphore Pattern
开发语言·后端·设计模式·rust·代理模式·企业级信号量模式·同步型模式
Thneonl15 小时前
Claude Code 频繁 Compacting?发布次日我根治了 2 个痛点
后端·rust
怪我冷i1 天前
Rust 智能指针 RefCell<T> 与内部可变性模式
rust
YOLOW922 天前
两周五个版本:我用 Rust 写的 AI 数据引擎 PageSift,0.81 系列做了什么
rust
西风测评2 天前
SSH 中文乱码的根源:locale、SendEnv 与 env 请求
rust
unconditional2 天前
我数了下 sdkm 的源码:41 个工具的安装逻辑,四分之三是同一行
rust·开源
niyongsheng2 天前
3D 装箱算法工程化:数据结构、放置启发式与支撑规则
数据结构·算法·rust
Hello.Reader2 天前
tsrs 技术解析用 Rust 移植 TypeScript 7,类型检查还能怎样提速?
开发语言·rust·typescript
王仔小奶2 天前
Rust 正在接管金融圈?深度拆解一份高薪 FinTech 岗位 JD
开发语言·金融·rust