首页 > 解决方案 > constexpr 对于静态常量包装器对象是多余的吗?

问题描述

我有一个带有非类型模板参数的构造函数模板(在非模板类中),该参数是从std::integral_constant. 是否需要声明std::integral_constant将传递给构造函数的类型的对象constexpr?这似乎是多余的。

我还看到C++ 标准库为标签调度创建对象constexpr。真的有需要吗?由于在编译时使用的不是标记对象,而是它的类型。

标签: c++templatesconstexpr

解决方案


如果您想在编译时代码中创建类的实例,constexpr或者consteval必须声明构造函数constexpr(或隐式 constexpr)。

您发布为链接的代码不包含显式 constexpr 构造函数。但它定义了constexpr变量。

你能发布你的代码吗?


推荐阅读