class A {
booloperator==(A *);
A *operator<<(A *);
A *operator>>(A *);
};
void f()
{
A *a = new A();
if ( a == a ); //сравнение указателейif ( *a == *a ); //вызов operator==(A *)
a << a >> a; //вызов operator<<(A *) и operator>>(A *)
*a << *a; //вызов operator<<(A *)
}
class A {
public:
A( int a ) {}
};
void g( int a ) { Print( a ); }
int f( int a )
{
A a( 15 );
g( uint( a ));
return ( 8 );
}
voidOnStart()
{
Print( f( 5 ));
}
メンバ関数の参照に(*a)のみを採用しても明確な利点はなく、むしろ演算子の単純かつ明確な多重適用が不可能になる。
あなたの提案を考慮して書き直してみてください。
演算子 <<(...) はオブジェクトへのポインタしか返せないので、ポインタの代わりにオブジェクトそのものを使うことはできません。
私は、現在の実装を無効にするのではなく、オブジェクトへの参照やポインタを追加で 取れるようにして、コンパイラの気まぐれに依存しないようにしてほしいとお願いしたのです。そして、その都度どうするかを決める。 もし、超信頼性の高いプログラムが必要なら、あなたが言ったような方法で簡単にできる。 そう、複雑なんだ。しかし、もしメタクォートが突然 << 演算子のポインタに対する特別な動作を導入したとしても、それを恐れることはないでしょう。
私は、現在の実装を禁止しろとは言っておらず、コンパイラの気まぐれに依存しないように、オブジェクトへの参照やポインタを取る可能性を追加して ほしいと言っているのです。
(b) がオブジェクトの場合、既存のGetPointer( b ) に加えて (&b) を追加した機能は明確で、構文を C++ に近づけることができます。
(a)がポインターの場合、既存の(a)に加えて追加機能(*a)があれば、おそらく妥当な妥協点が得られると思います
一方では矛盾を排除し、他方では既存の秩序を乱すことなくコンパイラは、同一スコープ内のパラメータと関数本体で、同じ名前の変数を許容しています
警告は出ますが、このような見つけにくいエラー(大きなコードで)には十分ではありません。少なくともC++コンパイラは同じケースで同じエラーを発生させるおそらく、前回のエラーの結果、この構成は
実行エラーの原因:無効なEX5ファイル(8)誰が向き合ったのでしょうか?どのように解決し、何が問題なのか?オトクなブローカー。
ドラッグ&ドロップで保留中の注文の価格を移動させると、SL/TPも一緒に変更されます。これを無効にすることはできますか?SL/TPは必ずしも価格と同期して動かす必要はありません。
どのように見ていますか?私はこのように考えています。
Ctrl キーを押しながらだと、保留中の注文がSL/TPと一緒に移動します。Ctrlを 押さない場合は、今のまま動きます。
また、端末の 設定では、Altを 押したときのみ、取引レベルの管理を設定することができますので、ご注意ください。そして、Ctrl+Alt キーを押して、上記のような操作を行ってください。
どのように見ていますか?私はこのように考えています。
Ctrl キーを押しながらだと、保留中の注文がSL/TPと一緒に移動します。Ctrlを 押さない場合は、今のまま動きます。
また、端末の 設定では、Altを 押したときのみ、取引レベルの管理を設定することができますので、ご注意ください。そして、上記のインタラクションのために、Ctrl+Altを押して ください。
これはドキュメントからでしょうか?Altについては読んだことがあり、使っているが、Ctrlについては知らない。
保留中の注文の価格をドラッグ&ドロップで移動させると、それに伴いSL/TPが変化します。無効化する方法はありますか?SL/TPは常に価格と同期して動くべきではない。