constexpr

    4

    1答えて

    セットアップ上の過負荷:私はSIMD組み込み関数を使用し、いくつかのconstexprの機能内で使用したい機能を持っている を。 そのためには、私はそれをconstexprにする必要があります。しかし、SIMD組み込み関数はconstexprとマークされておらず、コンパイラの定数評価プログラムはそれらを処理できません。 私はSIMD組み込み関数を同じことをするC++ constexpr実装に置き換

    1

    2答えて

    このコードを検討してコンパイルすることができません私はgcc-7.0.1を使用しており、ライブの例はhereです。 これは標準規格によるのですか、それともバグですか?最初の行が通過している間に2行目が失敗するのは何ですか?

    5

    1答えて

    C++ 11以降、関数constexprがあり、新しい標準(14、1z)ごとに制限が緩和されています。しかし 、constexpr作ることができるSTLの中で最も明白な機能、cmath/math.h機能は、まだ任意の標準ライブラリの実装私の知る限りでは何のconstexprバージョンを持っていません。 これはC++標準のバックログにあるのでしょうか、それともこれらの機能のバージョンがまだconst

    3

    1答えて

    はthis質問に基づいて、私はis_vector特性を実験: #include <iostream> #include <vector> using namespace std; template<typename T> struct is_vector { constexpr static bool value = false; }; template<typena

    1

    1答えて

    静的(constexpr)メンバのリンケージについては、多くの回答があります。 しかし、テンプレートクラスのアウトオブライン定義をヘッダファイルで使用するのはなぜですか?特殊なクラスでは機能しません。 A)これはリンカエラーなしで動作します: template<typename, typename> struct Foobar; template<typename T> struct Fo

    6

    4答えて

    タイプのIDでswitch文を作成できます。私は、異なるタイプの固有のIDを与える仕組みを見つけました。それは非常に単純です: template <typename T> struct type { static void id() { } }; template <typename T> constexpr const size_t type_id() { retu

    2

    1答えて

    Mike Isaacsonの「Exploring C++ 17 and beyond」プレゼンテーション(https://youtu.be/-ctgSbEfRxU?t=2907)では、書き込みに関する質問があります: const constexpr .... vs単一のconst。 MikeはC++ 11ではconstexprはconstを意味し、C++ではそうではありません14。 それは本当

    3

    1答えて

    static constexprの属性ではいくつかの問題があります:enum classというメンバで整数型で動作しますが、静的に初期化された整数配列で処理しようとすると、 undefined reference to S::aの中にmainというリンクがあります。 これは、clang 3.9またはg ++ 6.3、およびld 2.27.90のいずれかです。そしてそれはすべて-std=c++14で

    5

    2答えて

    constexpr移動コンストラクタを使用することは理にかなっていますか?例えば 、次の点を考慮してください #include <array> class C { public: constexpr C(std::array<int, 3> ar) : m_ar{ar} {} constexpr C(C&& other) : m_ar{std::move(other.m

    2

    2答えて

    私はC++ 11でconstexprの機能上の制限を考慮するとhttps://stackoverflow.com/a/15863826/2859099 #include <cstddef> #include <stdexcept> class str_const { public: template<std::size_t N> constexpr str_const