Skip to content

败犬日报 2025-01-16

1. 如何评价最快的json解析库yyjson? - 积石息土的回答 - 知乎

https://www.zhihu.com/question/426918418/answer/2169522309

2. constexpr 局部变量会在栈上分配空间吗

会。自动储存期一般来说是在栈上分配。

但是大多数情况会被优化掉,除非给变量取地址之类的操作。

3. 为什么不禁止给 constexpr 变量取地址

没办法禁止,如果 constexpr 变量的一个成员是一个数组,访问这个数组就需要地址。

4. 字面类型 (Literal Type)

cpp
class A {
public:
    int x;
    A(int x) : x(x) {}
};

template<A a>
void f() {}

int main() {
    f<A{1}>();
}

这样会报错,因为 A 定义了非 constructor 构造函数,A 不再是字面类型。

可以删掉这个构造函数或者构造函数加上 constexpr。

https://zh.cppreference.com/w/cpp/named_req/LiteralType