败犬日报 2025-05-20
1. 使用亚马逊Lambda加速LLVM构建(文章)
https://blog.nelhage.com/post/building-llvm-in-90s/
2. 怎么继承可变模板参数
cpp
template <typename... Ts>
class X : public Ts... {};
编译器展开会把 public 带上,就像这样:
cpp
template <typename... Ts>
class X : public T1, public T1, ... {};
3. 有没有模板展开的 debug 姿势
https://github.com/mikael-s-persson/templight
原理是利用 clang 的接口,在每次模板实例化的时候触发一个 callback。不用改源码。
4. const T&
返回函数中的不具名对象,能不能延长生命周期
cpp
const std::string &foo() {
return "A";
// warning: returning reference to local temporary object
}
不能,对象会在函数里析构。
关于返回值生命周期,可以想想调用方和被调用方会不会析构这个对象,就明白了。返回引用,调用方不析构,否则下面代码的全局变量 s 就会出问题:
cpp
std::string s;
const std::string &foo2() {
return s;
}
所以函数内的不具名对象显然是被调用方负责析构,返回值就会变成悬垂引用。
延伸:
- RVO 的返回值不是引用,调用方会接管生命周期。
- 临时量实质化
T &&foo() { return T{}; }
,生命周期也会交给调用方。
5. 新闻
既然群友发了我就直接拷贝。
- 混元游戏来了,首个工业级AIGC游戏内容生产引擎正式发布
- 谷歌推出 NotebookLM 移动应用,可生成智能总结、音频播客
- 谷歌 AI 编程助手 Jules 全球公测,挑战 GitHub Copilot 和 OpenAI 的 Codex
- 美团开放AI编程能力,推出零代码AI应用开发平台NoCode
- 微软 GitHub 推出 AI 编程智能体,可自动修复漏洞和优化代码
- 微软研究院推出 Magentic-UI,以人为中心的AI智能体开源研究原型
- Flowith推出Agent Neo,能持续不断地工作
- 清华系具身大脑公司「千诀科技」累计融资数亿规模,已在行业头部厂商落地
- 腾讯QQ浏览器正式推出 QBot AI浏览器,全新升级
- B站团队开源动漫视频生成模型 AniSora,一键创建不同风格片段
- OpenAI最强编程智能体Codex上线ChatGPT
- 魔法原子再获数亿元融资,将解锁千个落地场景
- 大模型“国家队”中科紫东太初宣布完成首轮数亿元融资