我不熟悉在 C++ 中使用模板元编程。
我希望能够将整数和类型名的混合传递给可变参数模板。我无法同时指定两者,因此我使用
typename... pack
。然后传递一个int N
作为integral_constant<int, N>
.
但是,我在 https://en.cppreference.com/w/cpp/types/integral_constant 的文档中注意到
为 integral_constant 添加特化的程序的行为是未定义的。
但我也看到了执行此操作的代码,甚至同一文档中的示例代码也是如此。因此,如果我误解了未定义行为警告的含义,我会感到有些困惑。我可以使用上面的模式吗?谁能详细说明一下?