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

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

相关推荐
不爱学英文的码字机器18 小时前
[鸿蒙PC命令行移植适配]移植rust三方库bottom到鸿蒙PC的完整实践
华为·rust·harmonyos
W_LuYi18519 小时前
Tauri + Rust + Vue 3 打造极速轻量桌面应用
java·开发语言·vue.js·rust
星栈20 小时前
Makepad 界面怎么做得更像产品,而不是示例
前端·rust
特立独行的猫a20 小时前
MQTT Client的Tauri应用移植到 OpenHarmony 鸿蒙 PC/ARM64 实践记录
mqtt·华为·rust·harmonyos·tauri·移植·鸿蒙pc
techdashen21 小时前
深入理解 Rust Futures:从零开始,一头扎到底
开发语言·后端·rust
fox_lht21 小时前
GPUI 框架完整学习教程
学习·rust·gpui
好家伙VCC1 天前
Rust+Bioinfo:80ms极速SNP注释引擎
java·开发语言·算法·rust
吴佳浩1 天前
AI Infra 的真相:Go 没输,rust也不是取代
后端·rust·go
mit6.8242 天前
并发协调的代价
rust
不爱学英文的码字机器2 天前
[鸿蒙PC命令行移植适配]移植rust三方库sd到鸿蒙PC的完整实践
华为·rust·harmonyos