谈谈 C++ 中的 const
C++ 用关键字 `const` 标识一个类型不可变. 这其实很容易理解. 不过, 对于 C++ 而言, 简单的概念也有很多可以讨论的. 我们来看一个问题. ### 问题 {#问题} 我们知道 `const` 可以用于修饰成员函数, 标识这个函数不能修改这个类的数据. 假设一个类有一个指针类型的成员 `T *p`, 我们希望通过 `get()` 方法获取 `p` 所指向的对...
51工具盒子
C++ 用关键字 `const` 标识一个类型不可变. 这其实很容易理解. 不过, 对于 C++ 而言, 简单的概念也有很多可以讨论的. 我们来看一个问题. ### 问题 {#问题} 我们知道 `const` 可以用于修饰成员函数, 标识这个函数不能修改这个类的数据. 假设一个类有一个指针类型的成员 `T *p`, 我们希望通过 `get()` 方法获取 `p` 所指向的对...
一直比较喜欢使用 RSS 订阅一些新闻和技术博客, 但总觉得 Windows 上除了雷鸟外没有什么好用的阅读器. 后来突然想到既然平时 VSCode 用得这么多, 为什么不给它写个 RSS 阅读插件呢, 而且 VSCode 扩展性这么强, 又天生支持 HTML 渲染. 于是清明节这几天就搞出了这个: [luyuhuang/vscode-rss](https://github.c...
在 C++17 中,折叠表达式是一种在**可变参数模板** 中**展开参数包** 并对其**进行某种操作**的方式。它允许你对多个参数进行某种操作(加法、乘法、逻辑运算等),从而大大减少了模板编程的复杂度。 在没有折叠表达式的情况下,处理可变参数模板时,往往需要**递归的方式**来处理每一个参数。而折叠表达式提供了一种更加简洁且高效的写法,减少了代码的冗余。 本文将详细讲解...
`std::invoke` 是 C++17 引入的一个标准库函数,用于**调用可调用对象**,它一般用于模板中,能够以一致的方式处理不同类型的可调用对象。 <br /> * **`_Functor`**: 普通函数对象或 lambda。 * **`_Pmf_object`**: 通过对象调用成员函数 * **`_Pmf_pointer`**:通过对象指针调用成员...
 简介 {#menu_index_1} ------------------ 目...
前言 --- 这是一个传销项目,最开始目标用的PHP+MYSQL+THINKPHP搭建的,当时网上找到源码然后审计拿到了后台,getshell实在无力,代码翻烂了都没找到能拿shell的点,所以当时准备给数据分析部门的爬后台数据然后交差的。 然,天有不测风云,刚准备采集,目标不知道为什么关站了,然后换了程序,换成了基于 Django 的 Python 程序,而且目测还在开发...
[](https://img.mrwu.red/wp-content/uploa...
[](https://img.mrwu.red/wp-content/upl...
### libgotorch 首先利用 libtorch 库封装了一个[libgotorch](https://51tbox.com/)库,已支持最新的 libtorch2.0.1 问题一:cgo 中返回的 tensor 对象在栈上,直接使用可能会有内存安全问题 我做了一层简单的封装来使其创建到堆上,但其引发的问题是需要手动管理内存,因此我编写了 mmgr 包在每一个 t...
### 前言 GitHub: xiaoyang-sde/co-uring-http 前段时间我在实现 rust-kernel-riscv (使用 Rust 无栈协程进行上下文切换的操作系统内核) 时, 跟进了一些 Linux Kernel 的特性, 其中印象最深的就是 io_uring. io_uring 作为最新的高性能异步 I/O 框架, 支持普通文件与网络套接字的异步...