Skip to content
败犬日报 2025-05-11

败犬日报 2025-05-11

1. cppreference.cn 不是正版网站,正版是 cppreference.com

不要用。这个网站的所有者还注册了包括 archlinux.org.cn、gnu.ac.cn、ansible.org.cn、hugging-face.cn 在内的一系列仿冒网站。archlinux 对 archlinux.org.cn 甚至发了声明

而且里面内容很旧,翻译有问题。

2. std::decaystd::remove_cvref 有什么区别

只是移除 cvref 限定的话,没区别。(解释一下,cvref 指的是 const volatile 左值右值引用这几个的组合)

std::decay 是模拟 auto x = (?); 的推导结果,移除了 cvref 限定只是顺手的事,还会导致数组退化成指针、函数退化成指针。

std::remove_cvref 就是单纯的移除 cvref 限定。

所以易得它们的区别:

cpp
static_assert(std::is_same_v<std::decay_t<int (&)[8]>, int*>);
static_assert(std::is_same_v<std::remove_cvref_t<int (&)[8]>, int[8]>);