問題タブ [static-array]

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.

0 投票する
3 に答える
405 参照

c++ - クラスのコンストラクターで定数サイズなしで静的配列を定義する方法は? (C++)

次のように定義されたクラスがあります。

次のような静的配列を含める必要があります。

ただし、クラス内で定義することはできないため、2D 配列へのポインターを作成し (そして、好奇心から、3、4、および 5D 配列)、それをクラスのメンバーとして持ち、それを初期化することができます。コンストラクターは次のようになります。

編集:ここでの考え方は、すべてのオブジェクトの幅と高さが異なるため、そのオブジェクトを表すために使用する配列はオブジェクトに固有のものになりますが、その配列が(できればコンストラクターで)定義されると、変更されません. また、特定のオブジェクトの幅と高さの値は、コンパイル時に認識されます。

編集: 配列はpresc、2 つのオブジェクトの配列を 1 つの大きな配列に重ね合わせ、重複する場所を確認することによる衝突検出用です。次のように宣言します。

0 投票する
4 に答える
20811 参照

c++ - サイズが指定されていない静的配列、空の角かっこ?

以下のC++コードフラグメントの場合:

メンバー変数もエラーを引き起こさないのはなぜですか?そして、このメンバー変数の意味は何ですか?

CodeBlocks 8.02からgccバージョン3.4.5(mingw-vista special)を使用しています。

Visual Studio Express 2008-80x86用のMicrosoft(R)C / C ++最適化コンパイラ15.00.30729.01で、次のメッセージが表示されました。

さて、これにもいくつかの説明が必要です。

0 投票する
14 に答える
37278 参照

c++ - C++でコンパイル時に静的配列をプログラムで作成する

コンパイル時に静的配列を次のように定義できます。

質問1-さまざまな種類のメタプログラミング手法を使用して、コンパイル時にこれらの値を「プログラムで」割り当てることは可能ですか?

質問2-配列内のすべての値が数個の同じバーであると仮定すると、プログラム的な方法でコンパイル時に値を選択的に割り当てることは可能ですか?

例えば:

  1. C++0xを使用したソリューションは大歓迎です
  2. 配列は非常に大きく、数百要素の長さである可能性があります
  3. 今のところ、配列はPODタイプのみで構成されます
  4. また、静的なコンパイル時準拠の方法で、配列のサイズが事前にわかっていると想定することもできます。
  5. ソリューションはC++である必要があります(スクリプト、マクロ、ppまたはコードジェネレーターベースのソリューションplsは不可)

更新: Georg Fritzscheのソリューションは素晴らしく、msvcおよびintelコンパイラでコンパイルするには少し作業が必要ですが、それでも問題に対する非常に興味深いアプローチです。

0 投票する
1 に答える
8757 参照

objective-c - Objective C - クラス内のすべてのメソッドにアクセスできる数値の STATIC 配列を定義するにはどうすればよいですか?

クラスのすべてのメソッドにアクセスできる数値の STATIC 配列を定義するにはどうすればよいですか?

0 投票する
3 に答える
418 参照

c# - 大量の新しい呼び出しなしで構造体のC++配列を変換しますか?

C ++

私が知っているC#でそのようなテーブルを初期化する唯一の方法は、次のようなものを書くことです。

それらへのポインタの代わりに、型クラスSomeClassの値の配列(への参照)を持つ方法はありますか?

編集:

重要なのは、配列内の構造体ごとにnewを呼び出さなくてもよいということです。したがって、必要なのは、(1000)構造体への1000ポインターではなく、1000構造体を含む配列です。私が尋ねている理由は、C#がこれを処理する方法は、私にはめちゃくちゃ非効率に見え、多くのメモリとメモリ管理のオーバーヘッド(C ++など)を伴うためです。

私は次のようなことを試みました

しかし、それは不可能でした。したがって、構造体は値型であることはわかっていますが、これは関数にパラメーターとして渡す場合にのみ当てはまると結論付け、次のように(ここで構造体を使用して)newを使用する必要がありました。

0 投票する
5 に答える
1286 参照

c++ - 実行時定数であるサイズの静的配列を作成できますか?

静的配列の基本的なルールは誰もが知っています。

合法ではありません。と。

大丈夫です。

しかし、これはどうですか。

MSVCはそれがエラーであると言います、gccはそれをうまくコンパイルして実行するようです。

明らかに、それはポータブルではありませんが、それは受け入れられるべきですか?

その状況で正しいことを行うコンパイラはどれですか?

また、コンパイラーによって許可されている場合、適切なプログラミング標準/プラクティスによって許可されるべきですか?

編集済み:速度に応じてスタックを割り当てたいという考えですが、コンパイル時に配列のサイズがわかりません。他にもいくつかの解決策があり、スタック割り当てはおそらく重要な最適化ではないことを私は知っていますが、それは興味深い使用法だと思います。

0 投票する
3 に答える
9280 参照

c++ - charとchar[1]の違い

C ++では、charとchar [1]の使用の違い(ある場合)は何ですか。

例:

unsigned charについても同じ理由が続きますか?

0 投票する
3 に答える
1201 参照

c++ - 3次元静的定数配列の初期化

ルックアップテーブルとして機能している3次元の静的const配列があります。配列の各セルは、最大8つの個別の数値を返すことができます(各数値は立方体の角、正確にはボクセルです)。したがって、たとえば、MyStaticArray[0][1][1]1,2,5,7を返す場合があります。1,2,3,4,5,6,7,8のように、単一の数値または最大8つの数値を返すことができます。

私はすでにルックアップテーブルを(紙に)準備していますが、私の質問はそれを保存するための最良の方法は何ですか?最初は私が行っていましたstatic const unsigned char[][][]が、テーブルが複数の数値を返す可能性があるため、この場合は明らかに機能しません(ここでも、1から8まで)。

次の解決策は、unsignedchar配列を返すことでした。つまり、static const unsigned char * [][][]です。これを初期化するにはどうすればよいですか(つまり、静的const配列を初期化して、クラスを初期化せずにアクセスできるように、静的でもあるunsigned char配列を返すにはどうすればよいですか?)もっと良い方法はありますか?

質問をきちんと説明できたと思います。そうでない場合は、私に知らせてください。言い換えたり、追加情報を提供したりします。

0 投票する
5 に答える
569 参照

arrays - GC割り当てなしでDの静的配列を初期化する方法は?

Dでは、すべての配列リテラルは動的配列であるため、GCによって割り当てられます。

この単純な例でも:

配列はヒープに割り当てられてから、にコピーされaます。

ヒープを割り当てずに静的配列を初期化するにはどうすればよいですか?

手動で行うことができます:

しかし、これはせいぜい退屈です。

もっと良い方法はありますか?

0 投票する
3 に答える
13427 参照

android - 文字列配列から名前属性を抽出する方法は?

こんにちは、クイズ アプリケーションを作成します。次の (values/)question.xml があります

4 つの可能な回答がある質問をしたいのですが、Java で回答を取得すると、どの回答が正しいのかわかりません。そこで、item タグで name 属性を使用して、「正解」または「不正解」の値を渡すことにしました。タグ値と一緒に名前を取得する方法はありますか?

String[] test = res.getStringArray(R.array.question); を使用すると 配列内の各項目の値しか取得できません。

または、Androidで初めてだからです。これを行うための他の適切なアプローチはありますか?

ありがとう