rust 中 ref 和 & 的区别
在 rust 语言中,有时候使用 ref 来创建一个引用,有时候使用 & 来创建一个引用,二者有什么区别? 其实在 rust 2018 版本中,通常不需要显式地使用 ref 关键字,直接使用 & 来借用值,ref 主要在 rust 的早期版本中更常用,但在现代 rust 中,直接使用 & 更加普遍和推荐。不过,ref 在某些复杂的模式匹配场景中仍然可以使用,请看下面的...
在 rust 语言中,有时候使用 ref 来创建一个引用,有时候使用 & 来创建一个引用,二者有什么区别? 其实在 rust 2018 版本中,通常不需要显式地使用 ref 关键字,直接使用 & 来借用值,ref 主要在 rust 的早期版本中更常用,但在现代 rust 中,直接使用 & 更加普遍和推荐。不过,ref 在某些复杂的模式匹配场景中仍然可以使用,请看下面的...
设计模式是解决软件设计中常见问题的可复用方案,分为三大类:创建型模式(5种)关注对象的高效创建与初始化,如单例、工厂;结构型模式(7种)处理对象间的组合与接口适配,如代理、装饰器;行为型模式(11种)管理对象间的通信与协作,如观察者、策略。这些模式通过解耦代码、提高复用性和增强扩展性,帮助开发者构建灵活、可维护的系统,例如通过适配器整合旧接口,利用责任链处理多级请求,或通过状态模式实现行为动...
todo
在 linux 环境开发中,有时候需要开机自动执行某个命令,但是由于执行该命令需要 root 权限,所以会执行失败,下面分享一种免密执行的实现方式。 以 sudo ifmetric wlan0 0(切换 wlan0 的路由优先级为最高级别)为例 终端运行 sudo visudo 修改 /etc/sudoers 配置,添加如下代码 my_username ALL = NOPASSWD:...
todo
c++ 中提供了一个计时的模板 std::chrono, 里面有三种时钟: steady_clock, system_clock 和 high_resolution_clock。 std::steady_clock 类似秒表, 适合用于记录程序耗时; std::system_clock 是系统的时钟, 因为系统的时钟可以修改, 甚至可以网络对时, 所以用系统时间计算时间差可能不...
由于 std::any 是 c++17 才有的函数,在低标准的 c++ 中想要使用这个函数很不方便,所以我参考 llvm里的代码实现了一个精简版。 #include <iostream> #include <memory> #include <typeindex> class Any { private: struct HoldBase { ...
todo
todo
todo