MQL5におけるOOPに関する質問 - ページ 6 12345678910111213...96 新しいコメント Vladimir Simakov 2019.07.04 15:36 #51 Dmitry Fedoseev: それでは、どうぞ。 こんな感じ。 できるどころか、もっといい、こう呼べばいいんだから。 ポインタを参照渡しする場合、ポインタのために別の変数が必要になります。 *** また、関数にポインタを渡して関数内にオブジェクトを作成する必要がある場合、そのような仕組みになっています。 以上、基本的にOOPについて知りたかったけど、怖くて聞けなかったことをまとめてみました))) ヌフフ Vladimir Simakov 2019.07.04 15:41 #52 void z(CObj* & o){ o = new CObj(); } そして、こう考えるだけで、すべてがうまくいくのです。 というわけで、OOPについて何か質問があれば、遠慮なく)))) Vladimir Simakov 2019.07.04 15:43 #53 古典的なヌルポインタのデリフェレンシングが判明した。 Roman 2019.07.04 22:53 #54 Vladimir Simakov: というわけで、OOPについて何か質問があれば、遠慮なく)))) new演算子でダイナミックオブジェクトを作成する意味を教えてください。 オブジェクトを自動生成する場合、スタックにクラスオブジェクトが生成され、実行時間の 点ではダイナミックオブジェクトより高速になります。 オブジェクトを動的に生成する場合、クラスオブジェクトをメモリ上(ヒープ上)に生成し、OSのメモリマネージャを起動すると、処理が遅くなる。 以下、質問です。 自動生成の方が速いなら、なぜダイナミックオブジェクトを使った方がいいのでしょうか? メモリ割り当ての明示的な制御? スタックオーバーフローの可能性を排除する? そして、不意にモノを失わないこと? スタックがオーバーフローすると、オブジェクトが自動的に削除されるから? Artyom Trishkin 2019.07.05 00:25 #55 Roman: 話題に付き合うのは疲れませんか? Roman 2019.07.05 01:31 #56 Artyom Trishkin: 話題に付き合うのは疲れませんか? できるだけ正確な質問ができるように調整すること。 何か問題があるのでしょうか?編集ボタンがあるので、ポイントを押さえた使い方ができます。 Vladimir Simakov 2019.07.05 03:14 #57 Roman: 新規演算子でダイナミックオブジェクトを作成する意味を教えてください。 オブジェクトを自動生成する場合、クラスオブジェクトはスタックに作成されるため、実行時間の 点ではダイナミックオブジェクトより高速になります。 オブジェクトを動的に生成する場合、クラスオブジェクトをメモリ上(ヒープ上)に生成し、OSのメモリマネージャを起動すると、処理が遅くなる。 以下、質問です。 自動生成の方が速いなら、なぜダイナミックオブジェクトを使った方がいいのでしょうか? メモリ割り当ての明示的な制御? スタックオーバーフローの可能性を排除する? そして、不意にモノを失わないこと? スタックがオーバーフローすると、オブジェクトが自動的に削除されるから? スタティック・メモリ、スタック、ヒープについて読んでみてはいかがでしょうか。 Andrey Barinov 2019.07.05 04:24 #58 Roman: 新規演算子でダイナミックオブジェクトを作成する意味を教えてください。 明確な使用例としては、対象物の種類があらかじめわからない場合です。 以下は、ヘルプにある良い例です。https://www.mql5.com/ru/docs/basis/operators/newoperator Документация по MQL5: Основы языка / Операторы / Оператор создания объекта new www.mql5.com //| Создание фигуры | Dmitry Fedoseev 2019.07.05 05:30 #59 Vladimir Simakov: ヌフフ そうなんです!ただし、なぜかすべてコンパイルして動作するんです。 どんな奇跡がそこにあるのか...。誰も知らないが、ところで、昨日のコードサンプルは、このスレッドのどこかから取ったと思われるが、実際にはどこかから消えているのだから、驚くにはあたらない。 *** そういえば、元々話していたこと、つまり関数やメソッドへのポインタの渡し方について(そして、そこで何らかのメモリリークが起こると主張したことについて)、まさに「&」が必要ない場所だと忘れてはいないでしょう。 Dmitry Fedoseev 2019.07.05 05:35 #60 Roman: new演算子でダイナミックオブジェクトを作成する目的を教えてください。 オブジェクトを自動生成する場合、クラスオブジェクトはスタックに作成され、実行時間の 点ではダイナミックオブジェクトより高速になります。 オブジェクトを動的に生成する場合、クラスオブジェクトはメモリ上(ヒープ上)に生成されるため、OSのメモリマネージャが関与し、処理速度が低下します。 以下、質問です。 自動生成の方が速いなら、なぜダイナミックオブジェクトを使った方がいいのでしょうか? メモリ割り当ての明示的な制御? スタックオーバーフローの可能性を排除する? そして、不意にモノを失わないこと? スタックがオーバーフローすると、オブジェクトが自動的に削除されるから? オブジェクトの数があらかじめ分かっていて、プログラムの実行中も一定であれば、newは必要ない。それ以外の場合 - 新品 12345678910111213...96 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
それでは、どうぞ。
こんな感じ。
できるどころか、もっといい、こう呼べばいいんだから。
ポインタを参照渡しする場合、ポインタのために別の変数が必要になります。
***
また、関数にポインタを渡して関数内にオブジェクトを作成する必要がある場合、そのような仕組みになっています。
以上、基本的にOOPについて知りたかったけど、怖くて聞けなかったことをまとめてみました)))ヌフフ
そして、こう考えるだけで、すべてがうまくいくのです。
というわけで、OOPについて何か質問があれば、遠慮なく))))
というわけで、OOPについて何か質問があれば、遠慮なく))))
new演算子でダイナミックオブジェクトを作成する意味を教えてください。
オブジェクトを自動生成する場合、スタックにクラスオブジェクトが生成され、実行時間の 点ではダイナミックオブジェクトより高速になります。
オブジェクトを動的に生成する場合、クラスオブジェクトをメモリ上(ヒープ上)に生成し、OSのメモリマネージャを起動すると、処理が遅くなる。
以下、質問です。
自動生成の方が速いなら、なぜダイナミックオブジェクトを使った方がいいのでしょうか?
メモリ割り当ての明示的な制御?
スタックオーバーフローの可能性を排除する?
そして、不意にモノを失わないこと?
スタックがオーバーフローすると、オブジェクトが自動的に削除されるから?
話題に付き合うのは疲れませんか?
話題に付き合うのは疲れませんか?
できるだけ正確な質問ができるように調整すること。
何か問題があるのでしょうか?編集ボタンがあるので、ポイントを押さえた使い方ができます。
新規演算子でダイナミックオブジェクトを作成する意味を教えてください。
オブジェクトを自動生成する場合、クラスオブジェクトはスタックに作成されるため、実行時間の 点ではダイナミックオブジェクトより高速になります。
オブジェクトを動的に生成する場合、クラスオブジェクトをメモリ上(ヒープ上)に生成し、OSのメモリマネージャを起動すると、処理が遅くなる。
以下、質問です。
自動生成の方が速いなら、なぜダイナミックオブジェクトを使った方がいいのでしょうか?
メモリ割り当ての明示的な制御?
スタックオーバーフローの可能性を排除する?
そして、不意にモノを失わないこと?
スタックがオーバーフローすると、オブジェクトが自動的に削除されるから?
新規演算子でダイナミックオブジェクトを作成する意味を教えてください。
明確な使用例としては、対象物の種類があらかじめわからない場合です。
以下は、ヘルプにある良い例です。https://www.mql5.com/ru/docs/basis/operators/newoperator
ヌフフ
そうなんです!ただし、なぜかすべてコンパイルして動作するんです。
どんな奇跡がそこにあるのか...。誰も知らないが、ところで、昨日のコードサンプルは、このスレッドのどこかから取ったと思われるが、実際にはどこかから消えているのだから、驚くにはあたらない。
***
そういえば、元々話していたこと、つまり関数やメソッドへのポインタの渡し方について(そして、そこで何らかのメモリリークが起こると主張したことについて)、まさに「&」が必要ない場所だと忘れてはいないでしょう。
new演算子でダイナミックオブジェクトを作成する目的を教えてください。
オブジェクトを自動生成する場合、クラスオブジェクトはスタックに作成され、実行時間の 点ではダイナミックオブジェクトより高速になります。
オブジェクトを動的に生成する場合、クラスオブジェクトはメモリ上(ヒープ上)に生成されるため、OSのメモリマネージャが関与し、処理速度が低下します。
以下、質問です。
自動生成の方が速いなら、なぜダイナミックオブジェクトを使った方がいいのでしょうか?
メモリ割り当ての明示的な制御?
スタックオーバーフローの可能性を排除する?
そして、不意にモノを失わないこと?
スタックがオーバーフローすると、オブジェクトが自動的に削除されるから?
オブジェクトの数があらかじめ分かっていて、プログラムの実行中も一定であれば、newは必要ない。それ以外の場合 - 新品