サイズが13の配列があるとします。サイズが14の配列を格納するための連続した使用可能なメモリセクションがないとします。元の配列を新しい配列にコピーすることはオプションではありません。したがって、最初の13個の要素を同じに保ちながら1つの要素で配列を拡張する唯一の方法は、13番目の要素のあとの次のメモリアドレスに14番目の要素を格納することです。このメモリスロットが利用可能なら、どうすればこのことをやりますか?ダイナミックメモリアドレッシング?前の配列の終わりの直後に次の要素を格納して配列を展開する
答えて
標準のC++メソッドはありません。標準ライブラリは通常realloc()を定義していますが、ほとんどのプラットフォームでは、それはメモリをコピーするための別のmalloc()とmemcpy()の呼び出しです。そのメカニズムを隠す標準的なライブラリコンテナを使用することができます。これは最も一般的です。メモリプールオブジェクトを使用します(必要なメモリをすべて割り当て、オブジェクトを割り当てます)。これはあまり一般的ではなく、通常はFEMAやイメージ処理OpenGLレンダリングエンジンで使用できます。
私は配列の長さをとり、長さ+ 1の位置にデータを挿入することをお勧めします。 例:
しかし、このメモリスロットは正式には初期化/割り当てされていないため、同じ実行中に将来の動的メモリ割り当てに置き換えられる可能性があります。 –
それはメモリの破損行為です。また、C++での長さフィールドやメソッドなどはありません – Swift
- 1. 配列に要素を格納する
- 2. 配列の出力ループ要素を別の配列に格納する方法
- 3. 繰り返し要素を含む配列を格納する
- 4. 要素を他の関数の配列に格納する
- 5. Ember.js配列の前/次の要素
- 6. データテーブルの要素を配列に格納する
- 7. スカラコレクションの要素を配列に格納する方法
- 8. 要素の順序を配列に格納する方法
- 9. Codeigniterに配列の代わりに値を格納する
- 10. 配列取得次/前の要素
- 11. 配列要素への参照を格納する方法は?
- 12. 多次元動的配列の格納
- 13. C - 配列の終わりを超えた要素
- 14. 前の配列要素を上書きする文字列の2D配列の最後の要素
- 15. VBA - 配列格納配列の作成
- 16. ABRecordRefの配列を格納
- 17. 配列要素の配列要素をJavaで配列する
- 18. php配列をjavascript配列に格納
- 19. コードの終わりの後に値を保持する配列
- 20. 配列を使用してキューのような要素を格納する
- 21. 配列に要素を格納する方法は?
- 22. Numpy N次元配列の展開
- 23. 配列とオブジェクトを別の配列に格納する
- 24. int配列に格納された複数要素レコードのソート
- 25. 配列要素の合計を加算し、別の配列に格納しますか? (Java)
- 26. javascriptでは、emojisを配列の要素として配列に格納できますか?
- 27. 他の配列間の接続を格納する配列
- 28. 配列を2次元配列に返す関数を格納します。
- 29. json配列の次の要素と前の要素を取得する
- 30. 配列に格納されたハッシュマップのすべての要素のイテレータ
私はあなたがHTTP([通常実装]する方法[ 'のstd :: deque'](http://en.cppreference.com/w/cpp/container/deque)検討すべきだと思います。 //thispointer.com/what-is-stddeque-and-how-deque-works-internally /)...あなたはあなたのことについてどうやって行くのかを大まかに知ることができます。 – WhiZTiM
"このメモリスロットが利用可能だった場合、どうすればこのことをやりますか?"利用可能なメモリスロットがあるかどうかをどのように知っていますか?いくつかのコードを表示してください。 –
私はこれを知っていると言っているわけではありません。新しい配列を作成するためのサイズ14の配列のための利用可能な連続したメモリセクションがない場合、私はちょうどこの方法で行う必要があるからです。新しいアレイを動的に割り当て、エラーを返すかどうかを確認することで、これが正しいかどうかを確認できます。 –