进化笔记

使用 RAII 机制规避内存泄漏风险

在 c++ 开发过程中,有时候需要使用到一些 c 语言的接口,比如 malloc/free,这些接口在内存管理上存在一定的风险,容易导致内存泄漏。本文介绍一种使用 RAII 机制规避内存泄漏风险的方法。 改良前 下面这个代码存在一个问题,在 use_data 函数中,如果函数提前返回,则 drop_data 函数不会执行,会导致内存泄漏。在 c 语言中,有两个办法可以解决这个问题,一个...

sshfs 远程文件系统

sshfs 是一种基于 ssh 协议的文件系统,它允许用户通过 SSH 连接在远程计算机上挂载文件系统,使得远程文件系统可以像本地文件系统一样方便地访问和操作。通过 SSHFS,用户可以安全地在本地计算机上访问和管理远程计算机上的文件,而且所有的数据传输都是加密的,提高了数据传输的安全性。使用 sshfs sshfs 和 nfs 的相同点和不同点 相同点 1、都是用于在计算机网络...

c++ debug 神器 dbg-macro

dbg-macro 是一个 c++ 调试宏,用于简化调试过程。它以非常简洁的方式打印变量名、值、和类型等信息,便于快速定位问题,不过虽然 dbg-macro 对调试非常有帮助,但它也可能对程序性能产生影响。因此,建议仅在调试时使用它,并在发布产品时移除或禁用这些调试宏。。 特点 简单易用: 使用 dbg(变量) 的方式即可打印变量的名称和值,极大简化了调试信息的打印。 类型安...

rust 中的发散函数

在 rust 中,发散函数(diverging functions)是指那些永远不会返回的函数。它们使用 ! 作为返回类型,来表明这个函数不会返回到调用它的代码。这通常用于表示函数会引发 panic 或者进入无限循环,或者有可能调用操作系统的退出函数。 发散函数的返回类型 发散函数的返回类型是 ! , 表示永远不会返回,无论你的函数返回值是啥,使用 ! 作为返回类型都是合法的,因为实际...

rust 闭包之Fn、FnMut、FnOnce 的区别

在 rust 中,Fn、FnMut 和 FnOnce 是三种闭包(closure)类型,它们定义了闭包如何捕获外部环境中的变量,通常情况下,编译器会自动推断闭包的类型,但是当使用闭包作为参数时,需要显示指定闭包的类型。 Fn:表示闭包可以通过引用来捕获外部变量(即不可变借用),并且可以多次调用。 FnMut:表示闭包可以通过可变引用来捕获外部变量(即可变借用),并且可以...

© xiongyi. 保留部分权利。

|

岂堪久蔽苍苍色,须放三光照九州