败犬日报 2024-11-03
1. 汇编代码和机器码并不总是一一对应的
是这样,只能说非常接近但不完全对应。https://www.zhihu.com/question/293810523
2. lambda 捕获全局变量
不需要捕获,直接能用。
3. 某校要求 50 个学生一起开发一个项目
每个人一个小的单元 crud,最后合起来,不用 Git 纯人工。
只能说脱离工程太久了。
4. 打 log 的函数里面 %d %s
这种格式化字符串和参数列表没对上,直接 core 了
最好没对上有 warning,没有就没办法。
5. std::format
和 fmt::format
的区别
格式化字符串和参数列表没对上,std::format 会编译报 warning,fmt::format 不会。
6. printf(cond ? "%d" : "No solution.", ans)
ap 味疑似有点冲了。
(坏写法)
问题来了,cond 是 false 时,参数会多一个,这合理吗?
https://zh.cppreference.com/w/cpp/io/c/fprintf:
若任何实参经过默认转换后的类型不是对应转换指示符所期望的类型,或若实参数量少于 format 的要求,则行为未定义。若有多于
format
要求的实参,则求值并忽略多出的实参。
少了不行,但多是没问题的。
7. 不同文件中初始化一个静态成员变量
没有 inline 是 ODR 违背。https://zh.cppreference.com/w/cpp/language/definition