败犬日报 2026-01-15
败犬日报 2026-01-15
1. 群友测评 GLM 4.7
写编译器架构合理,会自己起 GDB 调试,关键是 1 个月只有 20 块。
2. hidden friend 只能通过 ADL 找到
cpp
struct X {
friend int sum(X a, X b) { return a.x + b.x; }
void foo() { sum(*this, *this); }
void bar() { sum; } // error
int x;
};标题就是原因。
可以把 sum 改为静态成员函数,或者 sum 的定义放外面变成普通函数。
hidden friend 的意义是强制 ADL,比如重载 <。