問題タブ [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++ - C++ std::array の std::array を関数に渡す
私は std::array が初めてです。この関数を作成する必要があります
ここで、a と b は 2 つの固定整数値です。どうすればいいですか?
前もって感謝します!
c++ - クラスのコンストラクター初期化子に std::array を設定する
std::array
クラスのコンストラクタ初期化子に値を設定する方法はありますか?
今、私はそれを長い道のりに投入しています:
-編集 -
Visual Studio 2010 では、c++11 が完全にサポートされていません (まだ std::array がstd::tr1::array
名前空間の typedef としてリストされています!)。
試行には次のものが含まれます。
VS2010ではどれも機能しません。それらはすべてエラーを報告します:
c++ - C++11 std::array へのポインターをどのように宣言しますか?
変数に応じて、さらに使用するために SeedPositions32 または SeedPositions16 配列を選択する必要があります。ポインターがこれを許可すると思っていましたが、シードして機能させることはできません。C++11 std::array へのポインターをどのように宣言しますか? 私は以下を試しました。
c++ - サイズなしで std::array を定義することは可能ですか?
標準配列と同様:
私が抱えている問題は、初期化された std::array がサイズと初期化要素の数を手動で一致させる必要があることです。これは悪いことです。
初期化リストを使用して独自の配列を作成し、同様のことを行うことができることはわかっていますが、それは静的配列ではありません。C++ 11標準でそれが可能であることが必要であることを望んでいましたが、そうである場合の構文を理解できず、標準で何かを確認するものを見つけることができません(私は何も見つけることができません)標準!)。
c++ - C++11 でサイズがゼロの std::array の理由はありますか?
C++11 コンパイラで完全に受け入れられる次のコードを考えてみましょう。
標準 § 23.3.2.8 [サイズがゼロの配列] によると:
1
配列は、特殊なケースのサポートを提供する必要がありN == 0
ます。
2
その場合N == 0
、begin() == end() ==
一意の値。の戻り値
data()
は指定されていません。
3
サイズがゼロの配列に対するfront()
orの呼び出しの影響は定義されていません。back()
4
メンバー関数swap()
には、と同等の noexcept-specification が必要noexcept(true)
です。
std::array
上に示したように、 C++11 ではサイズ 0 のs が完全に許容されますint A[0];
。これは、明示的に禁止されているサイズ 0 の配列 (たとえば、 .
この「矛盾」を考慮して、次の質問があります。
C++ 委員会がサイズ 0 の
std::array
s を許可することを決定したのはなぜですか?価値のある用途はありますか?
c++ - std::array エラー: 'assign' という名前のメンバーがありません
次のコードでは、コンパイラは次のように文句を言います: struct std::array<double,5ul> has no member named 'assign'
. ここでは、それが可能と思われます。なぜそうなのですか?(コンパイラ: g++ 4.8.2)
c++ - 関数の引数として std::array の第 2 引数 (サイズ) を取得する
次のコードではstd::array
、関数の引数としてのサイズを取得する必要があります。コンテナのサイズは変わらないはずなので、私はそれを好みstd::array
ました。std::vector
ただし、コンパイラは次のように文句を言いますerror: ‘n’ is not a constant expression
。関数の引数から配列のサイズを取得するにはどうすればよいですか?
main.cpp: