Skip to content

败犬日报 2025-08-08

1. 数独网站

https://sudoku.com/zh/extreme/

2. 临时对象是纯右值

众所周知 std::vector{1} = std::vector{2}; 可以编译通过。

另一个例子是:

cpp
struct T {
    T& operator=(T) { return *this; }
};

struct V {
    V& operator=(V) & { return *this; }
};

int main() {
    T{} = T{};  // ok
    V{} = V{};  // error: Candidate function not viable: expects an lvalue for object argument
}

这里的 V 的拷贝函数限制了左值,因此过不了编译。