問題タブ [stdarray]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - std::valarray と std::array の違いは何ですか
valarray
クラスの見た目はクラスと同じですが、どこを優先するか、またはその逆array
を説明していただけますか?valarray
array
c++ - std::array のメンバーへのポインター
次のように、別の構造型のオブジェクトの配列を含む構造があるとします。
特定の配列要素の特定の属性のメンバーへのポインターに評価される式を移植可能に書くことは可能ですか? みたいな&bar::foos[2]::x
?
アプリケーションはembindです: 可能であれば、このようなネストされた C++ 型を線形 JavaScript タプルにマップしたいと思います。メンバーへのポインターを使用してこれがうまくいかない場合は、代わりに getter メソッドと setter メソッドを使用してみることができますが、そのようなメンバーへのポインターを取得する方法があるかどうかを知りたいです。
c++ - メモリ空間を必要としないC++のサイズがゼロの配列?
テンプレート化されたクラスのメンバー変数を宣言するとき、テンプレート パラメータの値に応じてメモリをゼロにする方法はありますか?
例としてはstd::array<T,n>
、n==0
.
例えば:
optional_args のオーバーヘッドをなくす方法はありますnum_optional_args==0
か?
. _ std::array<T,n>
_ T
_n==0
ゼロスペースを予約する別の手段はありますか? これが C++ 標準の一部ではないのはなぜですか?
c++ - std::array ですクラスメンバーとしてゼロ初期化?
質問:
c.stdArr
ゼロ初期化されていますか?- はいの場合 - なぜですか?
私自身の矛盾した答え:
ゼロで初期化されています:
std::array
C 配列のように動作したいです。上記の例stdArr
が c-array の場合stdArr()
、初期化リストでゼロ初期化されます。member()
初期化リスト内に書き込むと、オブジェクトが初期化されると思います。ゼロで初期化されていません:
std::array
通常、私の場合は単一のメンバーがいますint[10] _Elems;
- 通常、基本型および基本型の配列は、
int[N]
デフォルトで初期化されません。 std::array
デフォルトで構築されていることを意味する集約型です。- を初期化するカスタムコンストラクターがないため
_Elems
、ゼロ初期化されていないと思います。
std::array
C++11 標準に従った正しい動作は何ですか?
c++ - デフォルトで構築された配列から構築されたオブジェクトをコピーできません
ひどいコンパイル メッセージを生成するメタプログラミングの混乱に囲まれたコンパイル エラーを特定するのに 1 ~ 2 時間費やした後、私の問題を説明する最小限の簡単な例を次に示します。
これは g++ 4.8.1 でコンパイルされており、c
.inではd
なく.a
b
エラーは次のとおりです。