問題タブ [variable-length]

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 投票する
5 に答える
1157 参照

delphi - 可変長配列を実装する最良の方法は何ですか?

データベースからの大きな結果セットをメモリに保存したいと考えています。すべてのレコードは可変長であり、アクセス時間は配列と同じくらい高速でなければなりません。これを実装する最良の方法は何ですか? 別のテーブルにオフセットを保持し、すべてのレコードを連続して保存することを考えていましたか? 奇妙ですか?(プログラミング言語: Delphi)

0 投票する
11 に答える
27311 参照

c++ - 可変サイズの構造体C++

これは、C ++で可変サイズの構造体を作成するための最良の方法ですか?初期化後も長さが変わらないので、ベクトルは使いたくありません。

編集:変数名の名前を変更し、コードをより正確に変更しました。

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

c++ - 可変長のテンプレート引数リスト?

このようなことが行われているのを見たのを覚えています:

つまり、X は、テンプレート引数として渡された型名の可変長リストから継承します。もちろん、このコードは仮説です。

ただし、これに関する参照は見つかりません。出来ますか?C++0xですか?

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

matlab - MATLAB で長さが不明な行列ですか?

while ループの結果を出力できる 2 つの列を持つ可変長のゼロ行列を設定しようとしています (これを使用して、調整された時間ステップでオイラー法からのステップ データを格納することを意図しています)。長さは、ループの反復回数によって決まります。

ループの実行中にこれを行う方法があるかどうか、または最初に設定する必要があるかどうか、およびそれを行う方法があるかどうか疑問に思っています。

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

c++ - 可変長引数と関数のオーバーロードの違い

この C++ の質問はかなり基本的で一般的なようですが、それでも誰かに答えてもらいたいです。

1) 可変長引数を持つ関数とオーバーロードされた関数の違いは何ですか? 2) 可変長引数を持つ関数と、同様の引数を持つ別の同じ名前の関数がある場合、問題が発生しますか?

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

c++ - JavaのようにC++?:intの*可変*長さのベクトルのベクトル

私のモデルはいくつかを使用するのが最適です

v int [30] [i] [N_i];

intのタプルの30個のベクトルである構造。

v [0]はダミー、
v [1]はプレーンint(N_0の)、
v [2]はintのペア(N_1ペア)
...
v [29]は29タプルのint(N_29の彼ら)

これは vector<vector<int>>「generic-vector-of-vectors-in-c」とは異なります。

どうやら、外側の固定dim = 30は問題ありません、内側の固定dim=30は自己拡張STLベクトルクラスによって処理されます。

中間の寸法を固定する方法はありますが、一定ではありませんか?

0 投票する
13 に答える
179277 参照

c++ - 可変長配列がC++標準の一部ではないのはなぜですか?

ここ数年、Cはあまり使用していません。今日この質問を読んだとき、私はよく知らないC構文に出くわしました。

どうやらC99では次の構文が有効です:

これはかなり便利な機能のようです。それをC++標準に追加することについての議論はありましたか?もしそうなら、なぜそれが省略されたのですか?

いくつかの潜在的な理由:

  • コンパイラベンダーが実装するのは難しい
  • 標準の他の部分と互換性がありません
  • 機能は他のC++構造でエミュレートできます

C ++標準では、配列サイズは定数式でなければならないと規定されています(8.3.4.1)。

はい、もちろん、おもちゃの例ではを使用できることを理解していstd::vector<int> values(m);ますが、これはスタックではなくヒープからメモリを割り当てます。そして、次のような多次元配列が必要な場合:

vectorバージョンはかなり不器用になります:

スライス、行、および列も、メモリ全体に分散される可能性があります。

での議論を見ると、comp.std.c++この質問はかなり物議を醸していることが明らかであり、議論の両側にいくつかの非常に重い名前があります。std::vectoraが常により良い解決策であることは確かに明らかではありません。

0 投票する
2 に答える
30258 参照

arrays - Cobolの2次元可変長配列

MとNの両方が可変長であるCOBOLで2次元MxN配列を定義するにはどうすればよいですか?

可変配列を別の配列内に配置しようとすると、NetExpressで表示されるメッセージは次のとおりです。

0 投票する
16 に答える
14468 参照

encoding - 一連のランダム可変長バイナリ コードをエンコードする最もコンパクトな方法は?

List<List<Boolean>>を持っていて、それを可能な限りコンパクトな方法でバイナリ形式にエンコードしたいとしましょう。

読み取りまたは書き込みのパフォーマンスは気にしません。最小限のスペースを使いたいだけです。また、例は Java ですが、Java システムに限定されません。各「リスト」の長さは無制限です。したがって、各リストの長さをエンコードするソリューションは、それ自体で可変長データ型をエンコードする必要があります。

この問題に関連するのは、可変長整数のエンコードです。List<Boolean>それぞれを可変長と考えることができますunsigned integer

質問をよく読んでください。Java システムに限定されません。

編集

多くの回答が圧縮について話している理由がわかりません。私はそれ自体を圧縮しようとはしていませんが、ビットのランダムなシーケンスをエンコードしているだけです。ただし、各ビット シーケンスの長さは異なり、順序を維持する必要があります。

この質問は別の方法で考えることができます。ランダムな符号なし整数 (無制限) の任意のリストのリストがあるとします。このリストをバイナリ ファイルにどのようにエンコードしますか?

リサーチ

私はいくつかの読書をしましたが、私が本当に探しているのはユニバーサルコードであることがわかりました

結果

論文で説明されているElias Omega Codingのバリアントを使用します。正の整数の新しい再帰的ユニバーサル コード

小さい整数の表現が小さいほど、大きい整数とのトレードオフになることがわかりました。最初の整数の「大きな」表現を持つユニバーサルコードを選択するだけで、任意の大きな整数をエンコードする必要がある場合に、長期的には多くのスペースを節約できます。

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

c - Cで可変長の'文字列'-yを実装する方法

私はかなりグーグルで検索しましたが、可変長文字列が一般的に高級言語でどのように実装されているかについての情報を見つけることができません。私は自分でそのような言語を作成していますが、文字列からどこから始めればよいのかわかりません。

stringタイプを説明する構造体と、createそのような「文字列」を割り当てる関数があります。

ただし、これでは1kbの長さの文字列しか許可されません。それは一種のばかげたことであり、ほとんどの場合、メモリの膨大な浪費です。

何らかの方法で使用するメモリを宣言する必要があるとすると、(効果的に)無制限の文字数を(効率的に)格納できる文字列を実装するにはどうすればよいですか?