MQL5におけるOOPに関する質問 - ページ 73 1...666768697071727374757677787980...96 新しいコメント Sergey Dzyublik 2020.06.07 14:43 #721 Igor Makanu:適切なコミュニケーションのレベルに自分を下げる:私の質問は、スレッドのトピックに関するものですか? なぜあなたはインターネットから写真を持ってここに来たのですか? あなたは答えを知っているのですか?- いいえ、座って、黙って;) 第一に、私をつつかないでください、第二に、真実に対してそんなに激しく反応しないでください。 正直なところ、今日の対談相手とはあまりかけ離れていない印象を受けますね。 MQL4、MQL5の初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど イゴール・マカヌ さん 2020.06.07 13:46 皆さん、こんにちは。私のコードにString変数を挿入するのを手伝ってください。ありがとうございました。 それとも、どこかのコードの一部を切り取って使えないのか?少なくとも何が起こっているのか推測しなければならない))...... でも、このやり方では答えにならないのでしょうね。 Maxim Kuznetsov 2020.06.07 14:48 #722 某悪名高き親切なモデレーターは、口答えをするとあなたを追放すると約束しました :-) 待ち Artyom Trishkin 2020.06.07 14:50 #723 ある者はより多く、ある者はより少なく知っている。このフォーラムは、コミュニケーションとQ&Aの場です。知識を深めるために質問することは、恥ずかしいことではありません。質問者を見下すような態度は恥ずかしい。これでは、次のコースに進んだ学生が「唇で感じる聖なる知識」を放送しているようなものである。全体的にザワザワする...。 Igor Makanu 2020.06.07 14:51 #724 Maxim Kuznetsov:ある悪名高い優秀なモデレーターは、口答えをするとあなたを追放すると約束しました :-)まてよ 私は、軍隊ですべての呪いの言葉を使いました、それなしでは何もできません。) Artyom Trishkin 2020.06.07 14:55 #725 Maxim Kuznetsov:ある悪名高い優秀なモデレーターは、口答えをするとあなたを追放すると約束しました :-)待ち いや、マキシム、そうではないんだ。ぜひ、心を開いて再読してください。 Sergey Dzyublik 2020.06.07 14:55 #726 #include <JSON\json.mqh> JSONObject * getJSONObject(const string json) { JSONValue *jv =((JSONParser *)(new JSONParser())).parse(json); //1 if (jv != NULL && jv.isObject()) return((JSONObject *)jv); //2 Print(__FUNCSIG__ + "parser error, json = ",json); delete jv; //3 return(NULL); } void OnStart() { JSONObject *jobj = getJSONObject("{\"ObjType\":2,\"m_period\":1}"); if(jobj!=NULL) Print("m_period = ", jobj.getInt("m_period")); delete jobj; //3 } 1. newで作成したJSONParser 型のオブジェクトは削除しないJSONParser*への 無意味なキャストJSONParserの ローカル変数で 何が問題なんだ?あるいは、一時的なオブジェクトを使用したいが、そのシグネチャがわからないということでしょうか? 2.JSONObject* における無意味なキャスト 3.jvとjobjの変数がNULLでないことは間違いないでしょうか?そうしないと、MQLでNULLポインターを削除すると、ログに "rubbish "と出力されます。 Igor Makanu 2020.06.07 15:03 #727 Sergey Dzyublik: 1. newで作成したJSONParser 型のオブジェクトは削除しないJSONParser*への 無意味なキャストJSONParserの ローカル変数で 何が問題なんだ?あるいは、一時的なオブジェクトを使用したいが、そのシグネチャがわからないということでしょうか? 2.JSONObject* における無意味なキャスト 3.jvとjobjの変数がNULLでないことは間違いないでしょうか?そうしないと、MQLでNULLポインターを削除すると、ログに "rubbish "と出力されます。 ありがとうございます、少なくとも何かありますね。 この方法はライブラリの作者が使っていたもので、他の方法でパースするためのコールを書く意味はないと思います。 MQLでポインターを扱うときの状況がよくわからない。ポインターが実体になるとデリファレンスできないし、オブジェクトへのポインターだとどうすればいいのかわからない(( SZY: 私は20年前にC++を勉強しました。その後、生産技術者にはあまり使われなくなりました。最初はみんなDelphiに座って、それからSharpに這い上がってきました。コントローラ用のC++も見たことがありません。すべてが特殊な ソフトウェアで動いています。工学部の学生にとっては大学の刻印でしょうね。彼らはいつもPascalから訓練を始めます。ヴォルゴグラードのポリテクニックでさえ、ターボPascalを読んでいますよ。...誰がどこでコンパイラを手に入れるのか知らないが ))) ZS: コーラスを消すと、いい加減、普通は逆ですよね。 Vladimir Simakov 2020.06.07 17:51 #728 Igor Makanu:ありがとうございます、何かあったんですね。この方法はライブラリの作者によって使用されたものであり、他の呼び出しの解析方法を書く意味があるとは思えません。ポインタが実体になると参照解除ができなくなり、オブジェクトへのポインタになると参照解除ができなくなるなど、MQLではポインタを扱うときの状況がよくわかりません((SZY:私は20年前にC++を勉強しました。その後、生産技術者にはあまり使われていません。最初はみんなDelphiに座っていて、それからSharpに這い上がりました。コントローラもそうです。C++は見たことがありません。すべてが専用の ソフトウェアで動いています。工学部の学生にとっては、大学の刻印でしょうね。彼らはいつもPascalから訓練を始めます。ボルゴグラードのポリテクニックでさえ、ターボPascalを読んでいました。...誰がどこでコンパイラを入手したのか知らないが )))SZY:コーラスを外す、いい加減なんですよ、普通逆でしょう。 ポインターはありません)クラスのハンドルがあり、それを扱うのはポインターを扱うのと似ていますが、共通するのはそこで終わりです。 では、ハイライトの方です。 オブジェクトはスタックかヒープに作成します。 CTest test; //test - object CTest* test=new CTest; //test - handle of object 最初のケースでは、コンパイラは暗黙のデストラクタ呼び出しを追加し、メモリを掃除せず、スタックポインタを関数が呼ば れる前の位置に戻すだけです。2つ目のケースでは、スコープを離れる際に、オブジェクトが占有していたメモリはメモリマネージャによって占有しているとマークされたままであり、ポインタがもうそれを指していないので解放できない(これをメモリリークと呼ぶ)ため、deleteによって明示的にオブジェクトを破棄する必要があります。 ローカルランタイムについては。ここで,ハンドルは,特にオーバーロードされた関数がない場合,暗黙のうちにデリファレンスされます. class CTest{ }; void OnStart() { CTest test; CTest* _test=new CTest; Test(test); Test(&test); Test(_test); _Test(_test); delete _test; } void Test(CTest &test){Print("Object");} void Test(CTest* test){Print("Handle");} void _Test(CTest &test) {Print("Ok");} PS.そう、そしてシャープのことは忘れてください、全く共通点がないのです)))) Igor Makanu 2020.06.07 18:00 #729 Vladimir Simakov: PS.そう、そしてシャープのことは忘れてください、何の共通点もありません))) あなたはそれを得ることはありません、あなたは常に良いものに慣れています、それは論理的です、あなたが台無しにした場合 - VSはすぐに教えてくれます、そして、コードが実行されたとき - あなたは関数本体を残して- ちょうどそれを忘れて、あなたはただNULLを作成したコードに割り当て、それ自体が混乱を削除します )) 。 ありがとうございます、考えてみます。 Vladimir Simakov 2020.06.07 18:47 #730 Igor Makanu:うまくいきません。良いものにはすぐに慣れるし、すべて論理的で、もしどこかで失敗しても - VSはすぐに教えてくれるし、コード実行中に関数本体から 離れると - ただ忘れるだけで、せいぜいNULLを作ったくらいで - 勝手にクリアしてくれます ))。ありがとうございます、考えてみます。 そう、たった一つの悲しい暗黙のオブジェクト参照(例えば、あるデリゲートのinvokeリーフでのメソッド呼び出し)がコードの茂みに生き、メモリは消えてしまうのです。シャープでもごちゃごちゃ言えない。 1...666768697071727374757677787980...96 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
適切なコミュニケーションのレベルに自分を下げる:私の質問は、スレッドのトピックに関するものですか? なぜあなたはインターネットから写真を持ってここに来たのですか? あなたは答えを知っているのですか?- いいえ、座って、黙って;)
第一に、私をつつかないでください、第二に、真実に対してそんなに激しく反応しないでください。
正直なところ、今日の対談相手とはあまりかけ離れていない印象を受けますね。
MQL4、MQL5の初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど
イゴール・マカヌ さん 2020.06.07 13:46
皆さん、こんにちは。私のコードにString変数を挿入するのを手伝ってください。ありがとうございました。
それとも、どこかのコードの一部を切り取って使えないのか?少なくとも何が起こっているのか推測しなければならない))
......
でも、このやり方では答えにならないのでしょうね。
某悪名高き親切なモデレーターは、口答えをするとあなたを追放すると約束しました :-)
待ち
ある悪名高い優秀なモデレーターは、口答えをするとあなたを追放すると約束しました :-)
まてよ
私は、軍隊ですべての呪いの言葉を使いました、それなしでは何もできません。)
ある悪名高い優秀なモデレーターは、口答えをするとあなたを追放すると約束しました :-)
待ち
1. newで作成したJSONParser 型のオブジェクトは削除しない
JSONParser*への 無意味なキャスト
JSONParserの ローカル変数で 何が問題なんだ?あるいは、一時的なオブジェクトを使用したいが、そのシグネチャがわからないということでしょうか?
2.JSONObject* における無意味なキャスト
3.jvとjobjの変数がNULLでないことは間違いないでしょうか?そうしないと、MQLでNULLポインターを削除すると、ログに "rubbish "と出力されます。
1. newで作成したJSONParser 型のオブジェクトは削除しない
JSONParser*への 無意味なキャスト
JSONParserの ローカル変数で 何が問題なんだ?あるいは、一時的なオブジェクトを使用したいが、そのシグネチャがわからないということでしょうか?
2.JSONObject* における無意味なキャスト
3.jvとjobjの変数がNULLでないことは間違いないでしょうか?そうしないと、MQLでNULLポインターを削除すると、ログに "rubbish "と出力されます。
ありがとうございます、少なくとも何かありますね。
この方法はライブラリの作者が使っていたもので、他の方法でパースするためのコールを書く意味はないと思います。
MQLでポインターを扱うときの状況がよくわからない。ポインターが実体になるとデリファレンスできないし、オブジェクトへのポインターだとどうすればいいのかわからない((
SZY: 私は20年前にC++を勉強しました。その後、生産技術者にはあまり使われなくなりました。最初はみんなDelphiに座って、それからSharpに這い上がってきました。コントローラ用のC++も見たことがありません。すべてが特殊な ソフトウェアで動いています。工学部の学生にとっては大学の刻印でしょうね。彼らはいつもPascalから訓練を始めます。ヴォルゴグラードのポリテクニックでさえ、ターボPascalを読んでいますよ。...誰がどこでコンパイラを手に入れるのか知らないが )))
ZS: コーラスを消すと、いい加減、普通は逆ですよね。
ありがとうございます、何かあったんですね。
この方法はライブラリの作者によって使用されたものであり、他の呼び出しの解析方法を書く意味があるとは思えません。
ポインタが実体になると参照解除ができなくなり、オブジェクトへのポインタになると参照解除ができなくなるなど、MQLではポインタを扱うときの状況がよくわかりません((
SZY:私は20年前にC++を勉強しました。その後、生産技術者にはあまり使われていません。最初はみんなDelphiに座っていて、それからSharpに這い上がりました。コントローラもそうです。C++は見たことがありません。すべてが専用の ソフトウェアで動いています。工学部の学生にとっては、大学の刻印でしょうね。彼らはいつもPascalから訓練を始めます。ボルゴグラードのポリテクニックでさえ、ターボPascalを読んでいました。...誰がどこでコンパイラを入手したのか知らないが )))
SZY:コーラスを外す、いい加減なんですよ、普通逆でしょう。
ポインターはありません)クラスのハンドルがあり、それを扱うのはポインターを扱うのと似ていますが、共通するのはそこで終わりです。
では、ハイライトの方です。
Vladimir Simakov:
PS.そう、そしてシャープのことは忘れてください、何の共通点もありません)))
あなたはそれを得ることはありません、あなたは常に良いものに慣れています、それは論理的です、あなたが台無しにした場合 - VSはすぐに教えてくれます、そして、コードが実行されたとき - あなたは関数本体を残して- ちょうどそれを忘れて、あなたはただNULLを作成したコードに割り当て、それ自体が混乱を削除します )) 。
ありがとうございます、考えてみます。
うまくいきません。良いものにはすぐに慣れるし、すべて論理的で、もしどこかで失敗しても - VSはすぐに教えてくれるし、コード実行中に関数本体から 離れると - ただ忘れるだけで、せいぜいNULLを作ったくらいで - 勝手にクリアしてくれます ))。
ありがとうございます、考えてみます。
そう、たった一つの悲しい暗黙のオブジェクト参照(例えば、あるデリゲートのinvokeリーフでのメソッド呼び出し)がコードの茂みに生き、メモリは消えてしまうのです。シャープでもごちゃごちゃ言えない。