我不确定是我太天真还是太无知。
但为什么下面的内容不同呢?
constexpr auto nInitialCapacity1 = std::wstring().capacity();
const auto nInitialCapacity2 = std::wstring().capacity();
在 Visual Studio 2022/17.0.5 上,上面的代码会产生以下结果:nInitialCapacity1 = 8
nInitialCapacity2 = 7
为什么使用 constexpr
(编译时)版本的结果与调用的 const
版本不相等?
感谢任何解释!
-std=c++20
后就可以正常工作。 - IlCapitano