問題タブ [static-memory-allocation]
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++ - 値へのポインターを 1 行で作成する
値へのポインターを 1 行で作成したいと考えています。これと同じ機能が欲しい:
ただし、これを 1 行で実行したいので、2 つの変数を使用したくありません。私はこれを行うことができることを知っています:
しかし、動的メモリは使いたくありません。静的メモリを使用したい。
1行で、1つの変数を使用して静的に値へのポインターを割り当てる方法はありますか?
c++ - 大きなローカル変数を持つ頻繁に呼び出される関数の最適化 (C++)
何百万回も呼び出す必要がある関数があるとしましょう。この関数によって実行される算術演算はそれほど重くはないため、重要なのはすべての変数がどれだけ速く割り当てられるかだけです。また、変数は常にスタックに割り当てられると仮定します。最も単純なケースの例:
関数がすべての変数を返すと、変数が破棄されることを知っているので、
この変数を静的またはグローバルにしてキャッシュする方がよいのではないでしょうか? それを最適化する最良の方法は何ですか?
c++ - 静的ポリモーフィズムの問題
私はマイクロコントローラーを使用しており(つまり、静的メモリ割り当てしかできないことを意味します)、継承を使用しようとしています.....
抽象クラスImage
と抽象クラスがあるとしFont
ます。のインスタンスは、次のように、関数で指定されたのベースオフをFont
返すことができます。Image
char
GetImage
ここでの本当の問題は、関数に対して何をすべきかわからないことです。
問題はこれです: C++ では、抽象クラスのメンバーを持つためには、それをポインターとして使用する必要があります。したがって、私のジレンマはFont
、新しいを作成してImage
から返したいということです。
新しく作成されたオブジェクトへのポインターを返す場合はImage
、一時オブジェクトへの参照を返しています。
そして、私が戻った場合、次のような実際の型を返そうとします:
では、この種の静的メモリの問題にはイディオムか何かがありますか?
c - Cの配列のメモリ割り当て
配列 "arr" のメモリはコンパイル時に割り当てる必要がありますが、この場合、ユーザー (実行時) から "a" の値を取得し、配列に同じサイズを割り当てます。どうか明らかにしてください。
c++ - 概念的なストレージ割り当てが実際のものと異なるのはなぜですか?
不可解な質問があります(少なくとも私にとっては)
整数配列を宣言するとします。
概念的には、コンパイル時に 3 つの連続する整数を格納するために 12 バイトがメモリに割り当てられるということですよね。(ここにイラストがあります)
図に基づいて、サンプルアドレス
arr[0]
は1000
、
arr[1]
であり1004
、
arr[2]
です1008
。
私の質問は:
と のアドレスの差を出力するarr[0]
とarr[1]
:
を得る代わりに4
、
私は驚くほど得1
ます。
なぜその出力になったのか、誰か説明できますか?
PS: 私のコンピューターでは、int は 4 バイトです。
c - メモリ割り当てとプロセス メモリの使用
動的に割り当てられた複数回呼び出されたデータが、コードで直接指定されたものやmalloc
.
例
例として、C で次の 2 つのコードを作成しました。
test1.c: int x が割り当てられますmalloc
簡単にするために、ここではfreeを使用しませんでした。プログラムが対話を待機しているときに、別の端末で一番上の関数を見ると、次のように表示されます。
test2.c: int x が動的に割り当てられていません
そしてトップは私を示しています:
また、使用した test2 と同じ結果になる 3 番目のコードも実行しました。
プロセスのメモリ使用量に大きな違いがあるのはなぜですか? これは、malloc が新しいメモリ ページを要求し、メモリが無駄になっているためですか? またはmalloc
、より多くのメモリを割り当てますか?
test1 は合計メモリの3.3%を使用し、 test2 は0.5%を使用します。
環境:
Docker 内の Centos 5 64 ビットでこれらのテストを実行しています。
仮想環境のメモリ: