C++ 中的 dynamic_cast 是什么? 用途 在运行时在多态类型之间安全地进行转换 通常用于将基类指针转换为派生类指针(向下转型) 使用 RTTI(运行时类型识别)进行类型检查 基本语法 Derived* d = dynamic_cast<Derived*>(basePtr); 如果 basePtr 实际指向一个 Derived 对象,则转换成功 否则,返回 nullptr 转换失败的情况 指针转换: 如果实际对象不是目标类型,则返回 nullptr 引用转换: 如果失败,会抛出 std::bad_cast 异常 …
每年英国的中小学都会举办各类数学竞赛,我之前也在这里介绍过。今年我家娃参加了 JMC(Junior Mathematical Challenge,初中数学挑战赛),获得了 Gold(金奖/金牌)成绩。不过我个人觉得这个年龄段拿金奖算是中等偏上的水平,但我媳妇却坚持说他只是个“普娃”。 娃今年就读于 IVC 的 8 年级,是在这所学校的最后一年。9 月份他就要升入 Perse 私立学校了。今年他参加了 JMC,也就是 7 至 8 年级学生参与的初中数学竞赛。据说再往上,9 年级及以上的学生则是参加 SMC(Senior Mathematical Challenge,高中组竞赛)。 JMC 第一轮是选择题,共 25 题。前 15 题每题 5 …
这些年我陆续折腾过一些小项目,比如博客、在线工具、STEEM见证人等。目前我手头上管理着28台服务器,大多是一些价格便宜的VPS,最近新添的一台是家里鞋柜里的一块树莓派4B(Raspberry Pi)。 我把每台服务器的信息都记录在一个 Excel 表格中,包括 IP 地址、VPS 提供商、内存、硬盘等。这些信息都是静态配置数据。 平时我也写了不少小工具和 Bash 脚本,挂在 crontab 上定期运行,用来监控一些异常情况,比如磁盘空间不足、高 CPU 负载等。一旦检测到异常,就会通过邮件及时通知我。 比如以下BASH脚本(awk/sed)检测硬盘剩余空间: #!/bin/bash disk=$(df / | tail -1 | awk '{print $5}' | sed 's/%//') …
停机问题:程序能预测自己吗? 问题:给定程序 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 常用于化简分数、密码算法以及数论中。 …
昨天是父亲节,我还在床上回味时,弟弟就端着早餐走了进来——给我泡了一杯咖啡,还送上一张他亲手做的卡片。 后来我起床后,大娃也给我泡了一杯茶,还送来了他做的卡片。 媳妇说,是她提醒他们给我做卡片的。 我心里特别开心,毕竟孩子们还是花了心思。弟弟的卡片背后还偷偷写了一行小字,我差点没注意到。 他写的是:“PS, Also can we get the Switch 2 pliss, for Mario Kart and Pokémon..” 第一次见有人在节日卡片上写自己的愿望(笑哭)。 我查了一下任天堂的 Switch 2,可不便宜,得等个合适的时机再给孩子个惊喜。朋友打趣说:“父亲,不就是用来实现愿望的吗?” 哥哥的卡片上字也工整多了,说明他真的在慢慢长大。 Happy Father’s Day (2025) – Ryan …