エラー、バグ、質問 - ページ 1892 1...188518861887188818891890189118921893189418951896189718981899...3185 新しいコメント Renat Fatkhullin 2017.05.14 15:39 #18911 fxsaber: もうひとつ質問です。 トレッドの性能です。 Konstantin 2017.05.14 17:42 #18912 Renat Fatkhullin: 踏襲した作品。 ジョークならジョークらしく)、そうでないなら、プログラミングにおける「トレッド」とは何かを説明してください。 TheXpert 2017.05.14 21:23 #18913 Konstantin: プロテクターとは何なのか、プログラミングで説明してください。 デコンパイラを消滅させたもの Konstantin 2017.05.15 04:26 #18914 Renat Fatkhullin:はい、ご質問の例を挙げます。 と出力します。まず、未解決のキャストを下から順にチェックし、NULLを取得します。これは正しい。次に、CLASS2オブジェクトを作成し、その親クラスへの参照を割り当てます(ここで重要なのは、CLASS2オブジェクトの元の型がそのメタ情報に格納されていることを、環境が動的に知っていることです)。次に、(ご質問のように)参照 CLASS1 から CLASS2 へ動的にキャストします(ソースオブジェクトのメタ情報に基づく変換権チェック付き)。 キャストの結果を確認し、変数i = 1に書き込む。最後に、最初に作成したオブジェクトを 参照しながら、iの値を出力します。 全て仕様通りに正しく動作します(C++自体のdynamic_cast仕様も含む)。 MQLでの型変換がなんとなくわかりました))しかし、どのような場合でも下から上へのキャストはできず、上から下へのdynamic_ castはなくても大丈夫なのに、dynamic_castを 作る目的は何なのでしょうか?もしかしたら、ここには微妙なニュアンスがあり、私には理解できないのかもしれません。 Renat Fatkhullin 2017.05.15 09:19 #18915 Konstantin: わかりやすい説明ありがとうございます、MQLで型変換でなんとなくわかりました))どうせ下から上にはキャストできないし、上から下にはdynamic_ castがなくても大丈夫なのに、dynamic_castが 必要な意味がわからない?もしかしたら、ここには微妙なニュアンスがあり、私には理解できないのかもしれません。もう一度、コードと私の説明を読み直してください。また、ダイナミックキャストでは、もともと生成されたオブジェクトの メタ情報をもとに、下から上に安全にキャストを上げることができることを実証している。オブジェクトが子孫から作成され、親クラスの参照に変換された場合、メタ情報(元のオブジェクトは実際には子孫である)に基づき、その参照を安全に子孫に変換することができます。一般に、さまざまな子孫のオブジェクトが親クラスへの参照の配列/リストに積み上げられ、それを取り出して1つまたは他の子孫に安全にキャストするときに使用されます。もし変換がNULLを返すなら、それはそのオブジェクトが子孫によってフェッチされておらず、処理されるべきではないことを意味します。 Konstantin 2017.05.15 10:34 #18916 Renat Fatkhullin:もう一度、コードと私の説明を読み直してください。また、ダイナミックキャストでは、もともと生成されたオブジェクトの メタ情報をもとに、下から上に安全にキャストを上げることができることを実証している。オブジェクトが子孫から作成され、親クラスの参照に変換された場合、メタ情報(元のオブジェクトは実際には子孫である)に基づき、その参照を安全に子孫に変換することができます。一般に、さまざまな子孫のオブジェクトが親クラスへの参照の配列/リストに積み上げられ、それを取り出して1つまたは他の子孫に安全にキャストするときに使用されます。もし変換がNULLを返すなら、そのオブジェクトはdescendantによってフェッチされていないので、処理されるべきではない。コードを読んだけど、これじゃない?CLASS2 *my_ptr2=dynamic_cast<CLASS2 *>(my_ptr);は、これとは似て非なるものです。CLASS2 *my_ptr2=(CLASS2*)my_ptr;dynamic_castを 使ったコードを実行してもエラーにならないのは、dynamic_castが エラーの場合にNULLを 返すからだということ以外、dynamic_castを 使うことの微妙な意味がよくわからない Renat Fatkhullin 2017.05.15 10:36 #18917 Konstantin:コードを読んだけど、これじゃない?は、これとは似て非なるものです。dynamic_castを 使ったコードを実行してもエラーにならないのは、dynamic _ castが エラーの場合にNULLを 返すから、ということ以外、非常に微妙な点がつかめませんC++のdymanic_castの仕様書をgoogleで読むことをお勧めします。些細なことなんですけどね。 Aleksey Vyazmikin 2017.05.15 13:23 #18918 ゲーム起動時にPCリソースを与えるとクラッシュする-ゲーム「コール オブ デューティブラックオプスIII」クラッシュ-1エージェントが関与していた。エージェントの優先順位は最低限で、メモリは3.5ギガバイトの16を消費し、一般的には問題はないはずです。非活性剤では、ゲームは問題なくプレイできました。エージェントと他のプログラムとの互換性をテストしたことがありますか? Sergey Dzyublik 2017.05.15 13:36 #18919 -Aleks-: ゲーム起動時にPCリソースを与えるとクラッシュする-ゲーム「コール オブ デューティブラックオプスIII」クラッシュ-1エージェントが関与していた。エージェントの優先順位は最低限で、メモリは3.5ギガバイトの16を消費し、一般的には問題はないはずです。非活性剤では、ゲームは問題なくプレイできました。他のプログラムとのエージェントの互換性について一般的にテストされていますか? なぜか私はすぐに、もしかしたらゲームのバグかもしれないと思い、プログラムが4GB以上のアドレス空間に読み込まれたときの64ビットマシンでの作業の特殊性と結びつけて考えてしまいました。 Aleksey Vyazmikin 2017.05.15 13:50 #18920 Sergey Dzyublik: 何らかの理由ですぐに、おそらくゲームのバグという考えが浮かび、プログラムがアドレス空間> 4GBにロードされたときに、64ビットマシン上での作業の特殊性にそれを接続しました。 つまり、この仮説を確かめるには、RAMを4ギガバイト以上にして、ゲームを実行する必要があります。 1...188518861887188818891890189118921893189418951896189718981899...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
もうひとつ質問です。
踏襲した作品。
プロテクターとは何なのか、プログラミングで説明してください。
はい、ご質問の例を挙げます。
と出力します。まず、未解決のキャストを下から順にチェックし、NULLを取得します。これは正しい。
次に、CLASS2オブジェクトを作成し、その親クラスへの参照を割り当てます(ここで重要なのは、CLASS2オブジェクトの元の型がそのメタ情報に格納されていることを、環境が動的に知っていることです)。次に、(ご質問のように)参照 CLASS1 から CLASS2 へ動的にキャストします(ソースオブジェクトのメタ情報に基づく変換権チェック付き)。
キャストの結果を確認し、変数i = 1に書き込む。最後に、最初に作成したオブジェクトを 参照しながら、iの値を出力します。
全て仕様通りに正しく動作します(C++自体のdynamic_cast仕様も含む)。
わかりやすい説明ありがとうございます、MQLで型変換でなんとなくわかりました))どうせ下から上にはキャストできないし、上から下にはdynamic_ castがなくても大丈夫なのに、dynamic_castが 必要な意味がわからない?もしかしたら、ここには微妙なニュアンスがあり、私には理解できないのかもしれません。
もう一度、コードと私の説明を読み直してください。
また、ダイナミックキャストでは、もともと生成されたオブジェクトの メタ情報をもとに、下から上に安全にキャストを上げることができることを実証している。オブジェクトが子孫から作成され、親クラスの参照に変換された場合、メタ情報(元のオブジェクトは実際には子孫である)に基づき、その参照を安全に子孫に変換することができます。
一般に、さまざまな子孫のオブジェクトが親クラスへの参照の配列/リストに積み上げられ、それを取り出して1つまたは他の子孫に安全にキャストするときに使用されます。もし変換がNULLを返すなら、それはそのオブジェクトが子孫によってフェッチされておらず、処理されるべきではないことを意味します。
もう一度、コードと私の説明を読み直してください。
また、ダイナミックキャストでは、もともと生成されたオブジェクトの メタ情報をもとに、下から上に安全にキャストを上げることができることを実証している。オブジェクトが子孫から作成され、親クラスの参照に変換された場合、メタ情報(元のオブジェクトは実際には子孫である)に基づき、その参照を安全に子孫に変換することができます。
一般に、さまざまな子孫のオブジェクトが親クラスへの参照の配列/リストに積み上げられ、それを取り出して1つまたは他の子孫に安全にキャストするときに使用されます。もし変換がNULLを返すなら、そのオブジェクトはdescendantによってフェッチされていないので、処理されるべきではない。
コードを読んだけど、これじゃない?
CLASS2 *my_ptr2=dynamic_cast<CLASS2 *>(my_ptr);
は、これとは似て非なるものです。
dynamic_castを 使ったコードを実行してもエラーにならないのは、dynamic_castが エラーの場合にNULLを 返すからだということ以外、dynamic_castを 使うことの微妙な意味がよくわからない
コードを読んだけど、これじゃない?
は、これとは似て非なるものです。
dynamic_castを 使ったコードを実行してもエラーにならないのは、dynamic _ castが エラーの場合にNULLを 返すから、ということ以外、非常に微妙な点がつかめません
C++のdymanic_castの仕様書をgoogleで読むことをお勧めします。
些細なことなんですけどね。
ゲーム起動時にPCリソースを与えるとクラッシュする-ゲーム「コール オブ デューティブラックオプスIII」クラッシュ-1エージェントが関与していた。エージェントの優先順位は最低限で、メモリは3.5ギガバイトの16を消費し、一般的には問題はないはずです。非活性剤では、ゲームは問題なくプレイできました。他のプログラムとのエージェントの互換性について一般的にテストされていますか?
なぜか私はすぐに、もしかしたらゲームのバグかもしれないと思い、プログラムが4GB以上のアドレス空間に読み込まれたときの64ビットマシンでの作業の特殊性と結びつけて考えてしまいました。
何らかの理由ですぐに、おそらくゲームのバグという考えが浮かび、プログラムがアドレス空間> 4GBにロードされたときに、64ビットマシン上での作業の特殊性にそれを接続しました。
つまり、この仮説を確かめるには、RAMを4ギガバイト以上にして、ゲームを実行する必要があります。