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

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

相关推荐
rainchestnut9 小时前
bevy初体验2-官方示例学习
rust
葡萄城技术团队12 小时前
Hurley:用 Rust 打造的高性能 HTTP 客户端 + 压测工具
开发语言·http·rust
Source.Liu16 小时前
【dxf-rs】库全面介绍
rust·dxf-rs
土豆12501 天前
Rust宏编程完全指南:用元编程解锁Rust的终极力量
rust·编程语言
小杍随笔1 天前
【Rust 语言编程知识与应用:基础数据类型详解】
开发语言·后端·rust
小杍随笔1 天前
【Rust 语言编程知识与应用:自定义数据类型详解】
开发语言·后端·rust
咚为1 天前
Rust 跨平台编译实战:从手动配置到 Cross 容器化
开发语言·后端·rust
幸福指北2 天前
我用 Tauri + Vue 3 + Rust 开发了一款跨平台网络连接监控工具Portview,性能炸裂!
前端·网络·vue.js·tcp/ip·rust
咚为2 天前
深入浅出 Rust FFI:从内存安全到二进制兼容
开发语言·安全·rust
a1117762 天前
剪切板助手TieZ(开源项目rust)
rust·开源·剪切板