static constexpr 方法实现会导致 gcc bug?
这是一段代码: class Class { static constexpr int getBug(); }; constexpr int Class::getBug() { return 0; } 我基本上做的是在类声明中声明一个 …
“令人惊讶的”由于定义顺序而常量初始化
当阅读关于 constexpr 的幻灯片时,介绍是关于的”令人惊讶的是使用 const 进行动态初始化”。这个例子很 struct S { static const int c; }; const i…
C++11: static_assert() 中的 std::max(a,b)?
我注意到,在最后一个 C++-Std Doc N3291 max 的 [24.4.7] 中,它不是 constexpr: template const T& max(const T& a, const T& b); 因此,不允许在 …
简单的可变参数模板函数无法实例化
我知道 sizeof...(Args...) 产生 C++0x 打包模板参数列表中的类型数量,但我想根据其他功能来实现它演示目的,但它不会编译。 // This is not a solut…
内联与 constexpr?
使用新的 C++11 标准,什么时候应该使用 inline 关键字而不是 constexpr 关键字? constexpr 关键字是否提供了对 inline 的额外优化,还是仅仅断言必…
constexpr 和返回模板函数的 C++0x 错误
我试图找到问题的解决方案 C++ 模板非类型参数类型推导,不涉及调用f的模板参数,而是隐式地为模板参数选择正确的类型。 由于 constexpr 应该保证函数…
lambda 函数/表达式是否支持 constexpr?
struct Test { static const int value = []() -> int { return 0; } (); }; 使用 gcc-4.6,我得到类似错误:函数需要为 constexpr 的信息。我尝试了…
constexpr 真的需要吗?
我一直在研究 C++ 的新 constexpr 功能,但我并不完全理解它的必要性。 例如,以下代码: constexpr int MaxSize() { ... return ...; } void foo() {…
std::max() 和 std::min() 不是 constexpr
我刚刚注意到新标准定义了 min(a,b) 和 max(a,b) without constexpr。 25.4.7的例子,[alg.min.max]: template const T& min(const T& a, const T& b…
获取元组元素的偏移量
我编写了以下代码来获取元组元素的偏移量 template constexpr size_t tuple_element_offset() { return static_cast( reinterpret_cast(&std::get(*re…
为什么**不**将函数声明为“constexpr”?
任何仅包含 return 语句的函数都可以被声明 constexpr 因此将允许在编译时进行评估(如果全部) 参数是 constexpr,并且在其主体中仅调用 constexpr …
在常量表达式中使用 numeric_limits::max()
我想在类中定义一个常量,其值是最大可能的整数。像这样的: class A { ... static const int ERROR_VALUE = std::numeric_limits::max(); ... } 此声…
- 共 1 页
- 1