Skip to content

败犬日报 2024-10-25

1. 多行编辑功能

现代编辑器 / IDE 都支持。

vscode 用 Alt+鼠标多次点击,Alt+Shift+鼠标点击,鼠标中键拖动都可以。

2. 还好我不买书我只收藏 pdf

实体书不过是 pdf 手办罢了。

3. 一个 exe 依赖一个 f.dll。我重新编译 f.dll,之前旧的 dll 改了个名字,还在原来目录。这时候我重新运行 exe 会链接到旧的 dll 上吗?

https://learn.microsoft.com/zh-cn/windows/win32/dlls/dynamic-link-library-search-order?redirectedfrom=MSDN

4. vscode 有办法在编辑器查看 git diff 么

直接在 git 插件里面点 staged 或者 changed 文件就能看到。

5. stl 为什么没有实现大整数类型

比如你现在发现没有了。当你之后又能力去写提案的时候,你会愿意花个一两年时间写提案跟进进展,然后最后进了标准库发现自己的项目不够新,完全用不上。还是说,找一个开源库用一下?

与其往标准库加东西,不如早点弄个包管理。

6. 为什么 uint8_t 取反会变成 int

cpp
#include <cstdint>
#include <type_traits>
int main() {
    uint8_t x = 0;
    static_assert(std::is_same_v<int, decltype(~x)>);
}

算术运算符都会整数提升。

7. Java 能不能鸭子类型

普通的继承:声明的时候得写明它继承了 Duck 类。

鸭子类型:只要这个类实现了 fly(),它就是鸭子。

Go 和动态类型语言(Python, JS)都是采用鸭子类型。(C++ 的 proxy 库可能也是?)

Java 可以通过反射来完成。