Все объекты в MQL5 по умолчанию передаются по ссылке, но есть возможность использовать и указатели объектов. При этом есть опасность получить в качестве параметра функции указатель неинициализированного объекта. В этом случае работа программы будет завершена критически с последующей выгрузкой. Автоматически создаваемые объекты как правило такой ошибки не вызывают, и в этом отношении они достаточно безопасны. В этой статье мы попробуем разобраться в чем разница между ссылкой и указателей, когда оправдано использование указателей и как написать безопасный код с использованием указателей.
Переменная типа класса (объект) может передаваться как по ссылке, так и по указателю. Указатель как и ссылка служит для того, чтобы получать доступ к объекту.
プログラムが「Hello word」よりも大きくなると、OOPを使う必要性が出てきます。
総じて、MQL4は数年前から知っていますが、その惨めさには今でも驚かされます。第4のMQLは、クラシカルCの実力からすると星のように遠い存在です。MQL5では、開発者は前進を決意しました。機能が増え、プログラミングが容易になりました。確かに言葉は複雑になりましたが、小学生向けに作られた商品ではありません。
BasicやPascalは昔から学校・大学での勉強に使われていた(自尊心のある教育機関には後者がある)のだが...。
リスト、ツリー、グラフ、MQL4ではポインターを持つことができません。
CとJavaとAsmは突っ込まれたけど仕方ない......)。
これはもう専門的な話ですが、プログラミングの基礎(今風に言えばコンピュータサイエンスの授業ですね)の話です。
C言語は基本的に基礎レベルでも学ぶことができますが、例えばBasicの代わりに...
リスト、ツリー、グラフとは何か......説明してください。(木はわかるけど、葉っぱと球果がある木はちょっと...)
考えないほうがいい - 個人的に必要なのか......?:)
質問です。リファレンスマニュアルには、次のように書かれています。
Переменная типа класса (объект) может передаваться как по ссылке, так и по указателю. Указатель как и ссылка служит для того, чтобы получать доступ к объекту.
...関数がオブジェクトを返す場合、そのオブジェクトへのポインタを GetPointer(this) のような形で返すことができます。
サードパーティ製関数のパラメータとしてオブジェクトを使用しようとしている、つまり、関数にオブジェクトを渡そうとしている。どちらの場合も(オブジェクトの参照渡しとポインタ渡しの両方)、コンパイラは誓わない。オブジェクトを関数に渡すこの2つの方法に違いはあるのでしょうか?それとも、同じように使うことができるのでしょうか?オブジェクト(オブジェクトへのポインタ)を返す必要はない。
質問です。リファレンスマニュアルには、以下のように記載されています。
サードパーティ製関数のパラメータとしてオブジェクトを使用しようとする、つまり、関数にオブジェクトを渡そうとする。どちらの場合も(オブジェクトの参照渡しとポインタ渡しの両方)、コンパイラは誓わない。オブジェクトを関数に渡すこの2つの方法に違いはあるのでしょうか?それとも、同じように使うことができるのでしょうか?オブジェクト(オブジェクトへのポインタ)を返す必要はない。