Category: 学习笔记
什么是 LEA 指令? 在 x86 汇编语言中,LEA(Load Effective Address)指令用于**计算一个内存地址的值并存入寄存器**,但并不访问该地址对应的内存内容。 它非常适合用来做指针运算、地址偏移等操作。 基本语法 LEA destination, source destination:必须是一个寄存器(如 eax, ebx 等) source:是一个有效的内存地址表达式,如 实际示例 lea eax, 假设: ebx = 1000 ecx = 3 那么上述指令的效果为: …
在现代 C++(C++11 及以后)中,一个非常强大的特性叫做 转发引用(forward references),它让开发者可以通过一个模板函数同时处理左值和右值——而且只需写一次函数模板声明。 虽然语法看起来有点复杂,但本质上,转发引用是一种非常优雅的语法机制,让代码既简洁又高效。 什么是转发引用? 当模板参数以 T&& 的形式出现在函数参数中,并且 T 是通过类型推导得到的,这种情况下就形成了一个 转发引用。例如: template<typename T> void func(T&& arg); 乍一看,这像是右值引用,但实际上是 转发引用,因为 T 是通过类型推导得出的。这个函数既能接受左值,也能接受右值: int x = 5; func(x); // 左值 …
关注行动与坚持: – 从三分钟热度到每日10页:我重新开始读书了 – 读书打卡第2天:一点一滴的改变 – 告别买书如山、读书如风的日子 🧠 强调“读书健脑”与复利思维: – 读书是给大脑的长期投资 – 每天10页书,给大脑加点料 – 坚持,是最好的认知训练 🧘 结合生活习惯与自律: – 我的自律打卡清单里,多了一项:读书 – 从冥想到阅读,每天进步1% – 习惯改变人生,读书也能很极简 我已经记不清上一次完整读完一本书是什么时候了。每次都是三分钟热度,读一会儿就放下了。说实话,阅读从来不是我的爱好。有时候在旅途中,比如坐火车时,才会随手拿本书“象征性”地翻翻,多数时候也只是拍拍照装(逼)作在读书。 这几年我还买了不少实体书,但大多只是翻了几页就被搁置在一边,最后落满灰尘。前几天我看着家里塞满的一整书柜,突然觉得这样实在太浪费了。 刚好那天不知道在哪里看到一句话,说读书是最好的健脑方式之一。每天坚持阅读10页书籍,能显著提升专注力、理解力和思考力。 于是我给自己定下计划:每天读10页书。不局限于技术类书籍,甚至会刻意避免技术类内容,因为它们有时候反而更枯燥、读起来更容易疲惫。 目前我每天坚持打卡不少活动:比如倒立、量体重、喝牛奶、高抬腿、开合跳、深蹲、冥想三分钟、刷题等等。坚持的一个小技巧就是把这些写进Excel表格,每天自己勾选打卡,一目了然。 要相信复利的力量:一天两天看不出什么效果,但长期坚持,一定会发生变化。 …
C++ 中的 dynamic_cast 是什么? 用途 在运行时在多态类型之间安全地进行转换 通常用于将基类指针转换为派生类指针(向下转型) 使用 RTTI(运行时类型识别)进行类型检查 基本语法 Derived* d = dynamic_cast<Derived*>(basePtr); 如果 basePtr 实际指向一个 Derived 对象,则转换成功 否则,返回 nullptr 转换失败的情况 指针转换: 如果实际对象不是目标类型,则返回 nullptr 引用转换: 如果失败,会抛出 std::bad_cast 异常 …
停机问题:程序能预测自己吗? 问题:给定程序 P 和输入 x,你能判断 P(x) 是否会停机,还是永远运行下去吗? 由阿兰·图灵于 1936 年提出 被证明为不可判定——不存在通用算法能解决所有情况 本质是自指问题:程序能分析另一个程序(甚至是自己)吗? 图灵的思想实验 假设:H(P, x) 判断 P(x) 是否停机 定义下面的Python函数: def D(P): if H(P, P): while True: pass # 无限循环 …
使用 Bash 脚本计算最大公约数(GCD) 什么是 GCD? GCD 是 最大公约数(Greatest Common Divisor) 的缩写。 它是能同时整除两个整数的最大正整数。 例如: 8 和 12 的 GCD 是 4 14 和 49 的 GCD 是 7 GCD 常用于化简分数、密码算法以及数论中。 …
理解 Linux Shell 中前导空格的行为 概述 在像 bash 这样的 Linux shell 环境中,命令前加一个空格可能会影响该命令是否被保存到命令历史中。 这个小技巧在处理敏感数据时非常有用,或者当你不希望某个命令被记录下来时也能派上用场。 关键变量:HISTCONTROL 这种行为是由一个叫做 HISTCONTROL 的 shell 环境变量控制的。 查看当前设置的方法如下: echo $HISTCONTROL 例如,你可能会看到: ignoredups:ignorespace 值的含义解释 选项 描述 ignoredups 防止连续重复的命令被保存到历史中。 ignorespace …